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

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

Issue 1238123004: Slimming Paint phase 2 compositing algorithm plumbing & skeleton display list API. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 5 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 DisplayItemTransformTreeBuilder_h 5 #ifndef DisplayItemTransformTreeBuilder_h
6 #define DisplayItemTransformTreeBuilder_h 6 #define DisplayItemTransformTreeBuilder_h
7 7
8 #include "platform/PlatformExport.h" 8 #include "platform/PlatformExport.h"
9 #include "platform/geometry/FloatSize.h" 9 #include "platform/geometry/FloatSize.h"
10 #include "platform/graphics/paint/DisplayItemList.h"
10 #include "wtf/OwnPtr.h" 11 #include "wtf/OwnPtr.h"
11 #include "wtf/PassOwnPtr.h" 12 #include "wtf/PassOwnPtr.h"
12 #include "wtf/Vector.h" 13 #include "wtf/Vector.h"
13 14
14 namespace blink { 15 namespace blink {
15 16
16 class DisplayItem; 17 class DisplayItem;
18 class DisplayItemList;
17 class DisplayItemTransformTree; 19 class DisplayItemTransformTree;
20 class WebDisplayList;
18 21
19 class PLATFORM_EXPORT DisplayItemTransformTreeBuilder { 22 class PLATFORM_EXPORT DisplayItemTransformTreeBuilder {
20 public: 23 public:
21 DisplayItemTransformTreeBuilder(); 24 DisplayItemTransformTreeBuilder();
22 ~DisplayItemTransformTreeBuilder(); 25 ~DisplayItemTransformTreeBuilder();
23 26
24 // Detach the built transform tree. 27 // Detach the built transform tree.
25 // This can be used to construct a WebDisplayItemTransformTree. 28 // This can be used to construct a WebDisplayItemTransformTree.
26 PassOwnPtr<DisplayItemTransformTree> releaseTransformTree(); 29 PassOwnPtr<DisplayItemTransformTree> releaseTransformTree();
27 30
31 void build(const DisplayItemList& displayList, const DisplayListDiff&);
weiliangc 2015/07/24 19:17:15 Would it make sense to make DisplayItemTransformTr
chrishtr 2015/07/24 19:27:22 Common patterns good yes. :)
32
28 // Process another display item from the list. 33 // Process another display item from the list.
29 void processDisplayItem(const DisplayItem&); 34 void processDisplayItem(const DisplayItem&);
30 35
31 private: 36 private:
32 struct CurrentTransformNodeData { 37 struct CurrentTransformNodeData {
33 CurrentTransformNodeData(size_t nodeIndex, const FloatSize& offsetFromOr igin) 38 CurrentTransformNodeData(size_t nodeIndex, const FloatSize& offsetFromOr igin)
34 : transformNode(nodeIndex), offset(offsetFromOrigin), ignoredBeginCo unt(0) { } 39 : transformNode(nodeIndex), offset(offsetFromOrigin), ignoredBeginCo unt(0) { }
35 40
36 // Index of the current transform node. 41 // Index of the current transform node.
37 size_t transformNode; 42 size_t transformNode;
(...skipping 20 matching lines...) Expand all
58 63
59 OwnPtr<DisplayItemTransformTree> m_transformTree; 64 OwnPtr<DisplayItemTransformTree> m_transformTree;
60 Vector<CurrentTransformNodeData, 16> m_currentTransformNodeStack; 65 Vector<CurrentTransformNodeData, 16> m_currentTransformNodeStack;
61 size_t m_rangeBeginIndex; 66 size_t m_rangeBeginIndex;
62 size_t m_currentIndex; 67 size_t m_currentIndex;
63 }; 68 };
64 69
65 } // namespace 70 } // namespace
66 71
67 #endif // DisplayItemTransformTreeBuilder_h 72 #endif // DisplayItemTransformTreeBuilder_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698