Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1145)

Side by Side Diff: Source/platform/graphics/paint/DisplayItemTransformTree.h

Issue 1346733004: Include transform origin in the transform tree. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef DisplayItemTransformTree_h 5 #ifndef DisplayItemTransformTree_h
6 #define DisplayItemTransformTree_h 6 #define DisplayItemTransformTree_h
7 7
8 #include "platform/PlatformExport.h" 8 #include "platform/PlatformExport.h"
9 #include "platform/geometry/FloatPoint3D.h"
9 #include "platform/transforms/TransformationMatrix.h" 10 #include "platform/transforms/TransformationMatrix.h"
10 #include "public/platform/WebDisplayItemTransformTree.h" 11 #include "public/platform/WebDisplayItemTransformTree.h"
11 #include "wtf/Vector.h" 12 #include "wtf/Vector.h"
12 13
13 namespace blink { 14 namespace blink {
14 15
15 // Represents the hierarchy of transforms which apply to ranges of a display 16 // Represents the hierarchy of transforms which apply to ranges of a display
16 // item list and may be of interest to the compositor. 17 // item list and may be of interest to the compositor.
17 // 18 //
18 // This class is also the private implementation of WebDisplayItemTransformTree. 19 // This class is also the private implementation of WebDisplayItemTransformTree.
19 // For more detail, see WebDisplayItemTransformTree.h. 20 // For more detail, see WebDisplayItemTransformTree.h.
20 class PLATFORM_EXPORT DisplayItemTransformTree { 21 class PLATFORM_EXPORT DisplayItemTransformTree {
21 public: 22 public:
22 using TransformNode = WebDisplayItemTransformTree::TransformNode; 23 using TransformNode = WebDisplayItemTransformTree::TransformNode;
23 enum : size_t { kInvalidIndex = WebDisplayItemTransformTree::kInvalidIndex } ; 24 enum : size_t { kInvalidIndex = WebDisplayItemTransformTree::kInvalidIndex } ;
24 25
25 DisplayItemTransformTree(); 26 DisplayItemTransformTree();
26 ~DisplayItemTransformTree(); 27 ~DisplayItemTransformTree();
27 28
28 size_t nodeCount() const { return m_nodes.size(); } 29 size_t nodeCount() const { return m_nodes.size(); }
29 TransformNode& nodeAt(size_t index) { return m_nodes[index]; } 30 TransformNode& nodeAt(size_t index) { return m_nodes[index]; }
30 const TransformNode& nodeAt(size_t index) const { return m_nodes[index]; } 31 const TransformNode& nodeAt(size_t index) const { return m_nodes[index]; }
31 32
32 // Returns the new node index. 33 // Returns the new node index.
33 size_t createNewNode(size_t parentNodeIndex, const TransformationMatrix& mat rix) 34 size_t createNewNode(size_t parentNodeIndex, const TransformationMatrix& mat rix, const FloatPoint3D& transformOrigin)
34 { 35 {
35 ASSERT(parentNodeIndex != kInvalidIndex); 36 ASSERT(parentNodeIndex != kInvalidIndex);
36 m_nodes.append(TransformNode( 37 m_nodes.append(TransformNode(
37 parentNodeIndex, 38 parentNodeIndex,
38 TransformationMatrix::toSkMatrix44(matrix))); 39 TransformationMatrix::toSkMatrix44(matrix),
40 transformOrigin));
39 return m_nodes.size() - 1; 41 return m_nodes.size() - 1;
40 } 42 }
41 43
42 private: 44 private:
43 Vector<TransformNode> m_nodes; 45 Vector<TransformNode> m_nodes;
44 }; 46 };
45 47
46 } // namespace blink 48 } // namespace blink
47 49
48 #endif // DisplayItemTransformTree_h 50 #endif // DisplayItemTransformTree_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698