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 <unordered_map> | 10 #include <unordered_map> |
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
256 struct CC_EXPORT EffectNodeData { | 256 struct CC_EXPORT EffectNodeData { |
257 EffectNodeData(); | 257 EffectNodeData(); |
258 EffectNodeData(const EffectNodeData& other); | 258 EffectNodeData(const EffectNodeData& other); |
259 | 259 |
260 float opacity; | 260 float opacity; |
261 float screen_space_opacity; | 261 float screen_space_opacity; |
262 | 262 |
263 bool has_render_surface; | 263 bool has_render_surface; |
264 bool has_copy_request; | 264 bool has_copy_request; |
265 bool has_background_filters; | 265 bool has_background_filters; |
| 266 bool node_or_ancestor_has_background_filters; |
| 267 bool to_screen_opacity_is_animated; |
| 268 bool hidden_by_backface_visibility; |
| 269 bool double_sided; |
266 bool is_drawn; | 270 bool is_drawn; |
267 bool has_animated_opacity; | 271 bool has_animated_opacity; |
268 // We need to track changes to effects on the compositor to compute damage | 272 // We need to track changes to effects on the compositor to compute damage |
269 // rect. | 273 // rect. |
270 bool effect_changed; | 274 bool effect_changed; |
271 int num_copy_requests_in_subtree; | 275 int num_copy_requests_in_subtree; |
272 int transform_id; | 276 int transform_id; |
273 int clip_id; | 277 int clip_id; |
274 // For a node that creates a render surface, target_id is its own id. | 278 // For a node that creates a render surface, target_id is its own id. |
275 int target_id; | 279 int target_id; |
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
546 bool ContributesToDrawnSurface(int id); | 550 bool ContributesToDrawnSurface(int id); |
547 | 551 |
548 void ResetChangeTracking(); | 552 void ResetChangeTracking(); |
549 | 553 |
550 void ToProtobuf(proto::PropertyTree* proto) const; | 554 void ToProtobuf(proto::PropertyTree* proto) const; |
551 void FromProtobuf(const proto::PropertyTree& proto); | 555 void FromProtobuf(const proto::PropertyTree& proto); |
552 | 556 |
553 private: | 557 private: |
554 void UpdateOpacities(EffectNode* node, EffectNode* parent_node); | 558 void UpdateOpacities(EffectNode* node, EffectNode* parent_node); |
555 void UpdateIsDrawn(EffectNode* node, EffectNode* parent_node); | 559 void UpdateIsDrawn(EffectNode* node, EffectNode* parent_node); |
| 560 void UpdateBackfaceVisibility(EffectNode* node, EffectNode* parent_node); |
556 }; | 561 }; |
557 | 562 |
558 class CC_EXPORT ScrollTree final : public PropertyTree<ScrollNode> { | 563 class CC_EXPORT ScrollTree final : public PropertyTree<ScrollNode> { |
559 public: | 564 public: |
560 ScrollTree(); | 565 ScrollTree(); |
561 ScrollTree(const ScrollTree& other); | 566 ScrollTree(const ScrollTree& other); |
562 ~ScrollTree() override; | 567 ~ScrollTree() override; |
563 | 568 |
564 ScrollTree& operator=(const ScrollTree& from); | 569 ScrollTree& operator=(const ScrollTree& from); |
565 bool operator==(const ScrollTree& other) const; | 570 bool operator==(const ScrollTree& other) const; |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
673 | 678 |
674 private: | 679 private: |
675 gfx::Vector2dF inner_viewport_container_bounds_delta_; | 680 gfx::Vector2dF inner_viewport_container_bounds_delta_; |
676 gfx::Vector2dF outer_viewport_container_bounds_delta_; | 681 gfx::Vector2dF outer_viewport_container_bounds_delta_; |
677 gfx::Vector2dF inner_viewport_scroll_bounds_delta_; | 682 gfx::Vector2dF inner_viewport_scroll_bounds_delta_; |
678 }; | 683 }; |
679 | 684 |
680 } // namespace cc | 685 } // namespace cc |
681 | 686 |
682 #endif // CC_TREES_PROPERTY_TREE_H_ | 687 #endif // CC_TREES_PROPERTY_TREE_H_ |
OLD | NEW |