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 564 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
575 DrawTransforms transforms; | 575 DrawTransforms transforms; |
576 | 576 |
577 // TODO(sunxd): Move screen space transforms here if it can improve | 577 // TODO(sunxd): Move screen space transforms here if it can improve |
578 // performance. | 578 // performance. |
579 DrawTransformData() | 579 DrawTransformData() |
580 : update_number(-1), | 580 : update_number(-1), |
581 target_id(EffectTree::kInvalidNodeId), | 581 target_id(EffectTree::kInvalidNodeId), |
582 transforms(gfx::Transform(), gfx::Transform()) {} | 582 transforms(gfx::Transform(), gfx::Transform()) {} |
583 }; | 583 }; |
584 | 584 |
| 585 struct ConditionalClip { |
| 586 bool is_clipped; |
| 587 gfx::RectF clip_rect; |
| 588 }; |
| 589 |
| 590 struct ClipRectData { |
| 591 int target_id; |
| 592 ConditionalClip clip; |
| 593 |
| 594 ClipRectData() : target_id(-1) {} |
| 595 }; |
| 596 |
585 struct PropertyTreesCachedData { | 597 struct PropertyTreesCachedData { |
586 int transform_tree_update_number; | 598 int transform_tree_update_number; |
587 std::vector<AnimationScaleData> animation_scales; | 599 std::vector<AnimationScaleData> animation_scales; |
588 mutable std::vector<std::vector<DrawTransformData>> draw_transforms; | 600 mutable std::vector<std::vector<DrawTransformData>> draw_transforms; |
589 | 601 |
590 PropertyTreesCachedData(); | 602 PropertyTreesCachedData(); |
591 ~PropertyTreesCachedData(); | 603 ~PropertyTreesCachedData(); |
592 }; | 604 }; |
593 | 605 |
594 class CC_EXPORT PropertyTrees final { | 606 class CC_EXPORT PropertyTrees final { |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
672 bool GetFromTarget(int transform_id, | 684 bool GetFromTarget(int transform_id, |
673 int effect_id, | 685 int effect_id, |
674 gfx::Transform* from_target) const; | 686 gfx::Transform* from_target) const; |
675 | 687 |
676 void ResetCachedData(); | 688 void ResetCachedData(); |
677 void UpdateTransformTreeUpdateNumber(); | 689 void UpdateTransformTreeUpdateNumber(); |
678 gfx::Transform ToScreenSpaceTransformWithoutSurfaceContentsScale( | 690 gfx::Transform ToScreenSpaceTransformWithoutSurfaceContentsScale( |
679 int transform_id, | 691 int transform_id, |
680 int effect_id) const; | 692 int effect_id) const; |
681 | 693 |
| 694 ClipRectData* FetchClipRectFromCache(int clip_id, int target_id); |
| 695 |
682 private: | 696 private: |
683 gfx::Vector2dF inner_viewport_container_bounds_delta_; | 697 gfx::Vector2dF inner_viewport_container_bounds_delta_; |
684 gfx::Vector2dF outer_viewport_container_bounds_delta_; | 698 gfx::Vector2dF outer_viewport_container_bounds_delta_; |
685 gfx::Vector2dF inner_viewport_scroll_bounds_delta_; | 699 gfx::Vector2dF inner_viewport_scroll_bounds_delta_; |
686 | 700 |
687 // GetDrawTransforms may change the value of cached_data_. | 701 // GetDrawTransforms may change the value of cached_data_. |
688 DrawTransforms& GetDrawTransforms(int transform_id, int effect_id) const; | 702 DrawTransforms& GetDrawTransforms(int transform_id, int effect_id) const; |
689 DrawTransformData& FetchDrawTransformsDataFromCache(int transform_id, | 703 DrawTransformData& FetchDrawTransformsDataFromCache(int transform_id, |
690 int effect_id) const; | 704 int effect_id) const; |
691 | 705 |
692 PropertyTreesCachedData cached_data_; | 706 PropertyTreesCachedData cached_data_; |
693 }; | 707 }; |
694 | 708 |
695 } // namespace cc | 709 } // namespace cc |
696 | 710 |
697 #endif // CC_TREES_PROPERTY_TREE_H_ | 711 #endif // CC_TREES_PROPERTY_TREE_H_ |
OLD | NEW |