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 530 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
541 DrawTransforms transforms; | 541 DrawTransforms transforms; |
542 | 542 |
543 // TODO(sunxd): Move screen space transforms here if it can improve | 543 // TODO(sunxd): Move screen space transforms here if it can improve |
544 // performance. | 544 // performance. |
545 DrawTransformData() | 545 DrawTransformData() |
546 : update_number(-1), | 546 : update_number(-1), |
547 target_id(EffectTree::kInvalidNodeId), | 547 target_id(EffectTree::kInvalidNodeId), |
548 transforms(gfx::Transform(), gfx::Transform()) {} | 548 transforms(gfx::Transform(), gfx::Transform()) {} |
549 }; | 549 }; |
550 | 550 |
| 551 struct ConditionalClip { |
| 552 bool is_clipped; |
| 553 gfx::RectF clip_rect; |
| 554 }; |
| 555 |
| 556 struct ClipRectData { |
| 557 int target_id; |
| 558 ConditionalClip clip; |
| 559 |
| 560 ClipRectData() : target_id(-1) {} |
| 561 }; |
| 562 |
551 struct PropertyTreesCachedData { | 563 struct PropertyTreesCachedData { |
552 int transform_tree_update_number; | 564 int transform_tree_update_number; |
553 std::vector<AnimationScaleData> animation_scales; | 565 std::vector<AnimationScaleData> animation_scales; |
554 mutable std::vector<std::vector<DrawTransformData>> draw_transforms; | 566 mutable std::vector<std::vector<DrawTransformData>> draw_transforms; |
555 | 567 |
556 PropertyTreesCachedData(); | 568 PropertyTreesCachedData(); |
557 ~PropertyTreesCachedData(); | 569 ~PropertyTreesCachedData(); |
558 }; | 570 }; |
559 | 571 |
560 class CC_EXPORT PropertyTrees final { | 572 class CC_EXPORT PropertyTrees final { |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
647 bool GetFromTarget(int transform_id, | 659 bool GetFromTarget(int transform_id, |
648 int effect_id, | 660 int effect_id, |
649 gfx::Transform* from_target) const; | 661 gfx::Transform* from_target) const; |
650 | 662 |
651 void ResetCachedData(); | 663 void ResetCachedData(); |
652 void UpdateTransformTreeUpdateNumber(); | 664 void UpdateTransformTreeUpdateNumber(); |
653 gfx::Transform ToScreenSpaceTransformWithoutSurfaceContentsScale( | 665 gfx::Transform ToScreenSpaceTransformWithoutSurfaceContentsScale( |
654 int transform_id, | 666 int transform_id, |
655 int effect_id) const; | 667 int effect_id) const; |
656 | 668 |
| 669 ClipRectData& FetchClipRectFromCache(int clip_id, int target_id); |
| 670 |
657 private: | 671 private: |
658 gfx::Vector2dF inner_viewport_container_bounds_delta_; | 672 gfx::Vector2dF inner_viewport_container_bounds_delta_; |
659 gfx::Vector2dF outer_viewport_container_bounds_delta_; | 673 gfx::Vector2dF outer_viewport_container_bounds_delta_; |
660 gfx::Vector2dF inner_viewport_scroll_bounds_delta_; | 674 gfx::Vector2dF inner_viewport_scroll_bounds_delta_; |
661 | 675 |
662 // GetDrawTransforms may change the value of cached_data_. | 676 // GetDrawTransforms may change the value of cached_data_. |
663 DrawTransforms& GetDrawTransforms(int transform_id, int effect_id) const; | 677 DrawTransforms& GetDrawTransforms(int transform_id, int effect_id) const; |
664 DrawTransformData& FetchDrawTransformsDataFromCache(int transform_id, | 678 DrawTransformData& FetchDrawTransformsDataFromCache(int transform_id, |
665 int effect_id) const; | 679 int effect_id) const; |
666 | 680 |
667 PropertyTreesCachedData cached_data_; | 681 PropertyTreesCachedData cached_data_; |
668 }; | 682 }; |
669 | 683 |
670 } // namespace cc | 684 } // namespace cc |
671 | 685 |
672 #endif // CC_TREES_PROPERTY_TREE_H_ | 686 #endif // CC_TREES_PROPERTY_TREE_H_ |
OLD | NEW |