OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 CC_TREES_PROPERTY_TREE_H_ | 5 #ifndef CC_TREES_PROPERTY_TREE_H_ |
6 #define CC_TREES_PROPERTY_TREE_H_ | 6 #define CC_TREES_PROPERTY_TREE_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
(...skipping 12 matching lines...) Expand all Loading... |
23 namespace base { | 23 namespace base { |
24 namespace trace_event { | 24 namespace trace_event { |
25 class TracedValue; | 25 class TracedValue; |
26 } | 26 } |
27 } | 27 } |
28 | 28 |
29 namespace cc { | 29 namespace cc { |
30 | 30 |
31 class CopyOutputRequest; | 31 class CopyOutputRequest; |
32 class LayerTreeImpl; | 32 class LayerTreeImpl; |
| 33 class RenderSurfaceImpl; |
33 class ScrollState; | 34 class ScrollState; |
34 struct ClipNode; | 35 struct ClipNode; |
35 struct EffectNode; | 36 struct EffectNode; |
36 struct ScrollAndScaleSet; | 37 struct ScrollAndScaleSet; |
37 struct ScrollNode; | 38 struct ScrollNode; |
38 struct TransformNode; | 39 struct TransformNode; |
39 struct TransformCachedNodeData; | 40 struct TransformCachedNodeData; |
40 | 41 |
41 typedef SyncedProperty<AdditionGroup<gfx::ScrollOffset>> SyncedScrollOffset; | 42 typedef SyncedProperty<AdditionGroup<gfx::ScrollOffset>> SyncedScrollOffset; |
42 | 43 |
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
324 | 325 |
325 int ClosestAncestorWithCopyRequest(int id) const; | 326 int ClosestAncestorWithCopyRequest(int id) const; |
326 | 327 |
327 void AddMaskLayerId(int id); | 328 void AddMaskLayerId(int id); |
328 const std::vector<int>& mask_layer_ids() const { return mask_layer_ids_; } | 329 const std::vector<int>& mask_layer_ids() const { return mask_layer_ids_; } |
329 | 330 |
330 bool ContributesToDrawnSurface(int id); | 331 bool ContributesToDrawnSurface(int id); |
331 | 332 |
332 void ResetChangeTracking(); | 333 void ResetChangeTracking(); |
333 | 334 |
| 335 // A list of pairs of stable id and render surface, sorted by stable id. |
| 336 using StableIdRenderSurfaceList = |
| 337 std::vector<std::pair<int, RenderSurfaceImpl*>>; |
| 338 StableIdRenderSurfaceList CreateStableIdRenderSurfaceList() const; |
| 339 void UpdateRenderSurfaceEffectIds( |
| 340 const StableIdRenderSurfaceList& stable_id_render_surface_list, |
| 341 LayerTreeImpl* layer_tree_impl); |
| 342 |
334 private: | 343 private: |
335 void UpdateOpacities(EffectNode* node, EffectNode* parent_node); | 344 void UpdateOpacities(EffectNode* node, EffectNode* parent_node); |
336 void UpdateIsDrawn(EffectNode* node, EffectNode* parent_node); | 345 void UpdateIsDrawn(EffectNode* node, EffectNode* parent_node); |
337 void UpdateBackfaceVisibility(EffectNode* node, EffectNode* parent_node); | 346 void UpdateBackfaceVisibility(EffectNode* node, EffectNode* parent_node); |
338 | 347 |
339 // Stores copy requests, keyed by node id. | 348 // Stores copy requests, keyed by node id. |
340 std::unordered_multimap<int, std::unique_ptr<CopyOutputRequest>> | 349 std::unordered_multimap<int, std::unique_ptr<CopyOutputRequest>> |
341 copy_requests_; | 350 copy_requests_; |
342 | 351 |
343 // Unsorted list of all mask layer ids that effect nodes refer to. | 352 // Unsorted list of all mask layer ids that effect nodes refer to. |
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
604 DrawTransforms& GetDrawTransforms(int transform_id, int effect_id) const; | 613 DrawTransforms& GetDrawTransforms(int transform_id, int effect_id) const; |
605 DrawTransformData& FetchDrawTransformsDataFromCache(int transform_id, | 614 DrawTransformData& FetchDrawTransformsDataFromCache(int transform_id, |
606 int effect_id) const; | 615 int effect_id) const; |
607 | 616 |
608 PropertyTreesCachedData cached_data_; | 617 PropertyTreesCachedData cached_data_; |
609 }; | 618 }; |
610 | 619 |
611 } // namespace cc | 620 } // namespace cc |
612 | 621 |
613 #endif // CC_TREES_PROPERTY_TREE_H_ | 622 #endif // CC_TREES_PROPERTY_TREE_H_ |
OLD | NEW |