OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 PropertyTreeState_h | 5 #ifndef PropertyTreeState_h |
6 #define PropertyTreeState_h | 6 #define PropertyTreeState_h |
7 | 7 |
8 #include "platform/graphics/paint/ClipPaintPropertyNode.h" | 8 #include "platform/graphics/paint/ClipPaintPropertyNode.h" |
9 #include "platform/graphics/paint/EffectPaintPropertyNode.h" | 9 #include "platform/graphics/paint/EffectPaintPropertyNode.h" |
10 #include "platform/graphics/paint/ScrollPaintPropertyNode.h" | 10 #include "platform/graphics/paint/ScrollPaintPropertyNode.h" |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
62 } | 62 } |
63 | 63 |
64 const ScrollPaintPropertyNode* scroll() const { | 64 const ScrollPaintPropertyNode* scroll() const { |
65 DCHECK(!m_scroll || !m_scroll->hasOneRef()); | 65 DCHECK(!m_scroll || !m_scroll->hasOneRef()); |
66 return m_scroll.get(); | 66 return m_scroll.get(); |
67 } | 67 } |
68 void setScroll(RefPtr<const ScrollPaintPropertyNode> node) { | 68 void setScroll(RefPtr<const ScrollPaintPropertyNode> node) { |
69 m_scroll = std::move(node); | 69 m_scroll = std::move(node); |
70 } | 70 } |
71 | 71 |
| 72 // Returns the compositor element id, if any, for this property state. If none |
| 73 // of the scroll, effect or transform nodes for this state have a compositor |
| 74 // element id then a default instance is returned. |
| 75 const CompositorElementId compositorElementId() const; |
| 76 |
72 enum InnermostNode { | 77 enum InnermostNode { |
73 None, // None means that all nodes are their root values | 78 None, // None means that all nodes are their root values |
74 Transform, | 79 Transform, |
75 Clip, | 80 Clip, |
76 Effect, | 81 Effect, |
77 }; | 82 }; |
78 | 83 |
79 // There is always a well-defined order in which the transform, clip | 84 // There is always a well-defined order in which the transform, clip |
80 // and effects of a PropertyTreeState apply. This method returns which | 85 // and effects of a PropertyTreeState apply. This method returns which |
81 // of them applies first to content drawn with this PropertyTreeState. | 86 // of them applies first to content drawn with this PropertyTreeState. |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
186 } | 191 } |
187 | 192 |
188 HashMap<const PropertyTreeNode*, String> m_nodeToDebugString; | 193 HashMap<const PropertyTreeNode*, String> m_nodeToDebugString; |
189 }; | 194 }; |
190 | 195 |
191 #endif | 196 #endif |
192 | 197 |
193 } // namespace blink | 198 } // namespace blink |
194 | 199 |
195 #endif // PropertyTreeState_h | 200 #endif // PropertyTreeState_h |
OLD | NEW |