Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(438)

Side by Side Diff: cc/trees/property_tree.h

Issue 2655233006: cc : Clean up cc clip tree (Closed)
Patch Set: bug number test expectations Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 553 matching lines...) Expand 10 before | Expand all | Expand 10 after
564 DrawTransforms transforms; 564 DrawTransforms transforms;
565 565
566 // TODO(sunxd): Move screen space transforms here if it can improve 566 // TODO(sunxd): Move screen space transforms here if it can improve
567 // performance. 567 // performance.
568 DrawTransformData() 568 DrawTransformData()
569 : update_number(-1), 569 : update_number(-1),
570 target_id(EffectTree::kInvalidNodeId), 570 target_id(EffectTree::kInvalidNodeId),
571 transforms(gfx::Transform(), gfx::Transform()) {} 571 transforms(gfx::Transform(), gfx::Transform()) {}
572 }; 572 };
573 573
574 struct ConditionalClip {
575 bool is_clipped;
576 gfx::RectF clip_rect;
577 };
578
579 struct ClipRectData {
580 int target_id;
581 ConditionalClip clip;
582
583 ClipRectData() : target_id(-1) {}
584 };
585
574 struct PropertyTreesCachedData { 586 struct PropertyTreesCachedData {
575 int transform_tree_update_number; 587 int transform_tree_update_number;
576 std::vector<AnimationScaleData> animation_scales; 588 std::vector<AnimationScaleData> animation_scales;
577 mutable std::vector<std::vector<DrawTransformData>> draw_transforms; 589 mutable std::vector<std::vector<DrawTransformData>> draw_transforms;
578 590
579 PropertyTreesCachedData(); 591 PropertyTreesCachedData();
580 ~PropertyTreesCachedData(); 592 ~PropertyTreesCachedData();
581 }; 593 };
582 594
583 class CC_EXPORT PropertyTrees final { 595 class CC_EXPORT PropertyTrees final {
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
661 bool GetFromTarget(int transform_id, 673 bool GetFromTarget(int transform_id,
662 int effect_id, 674 int effect_id,
663 gfx::Transform* from_target) const; 675 gfx::Transform* from_target) const;
664 676
665 void ResetCachedData(); 677 void ResetCachedData();
666 void UpdateTransformTreeUpdateNumber(); 678 void UpdateTransformTreeUpdateNumber();
667 gfx::Transform ToScreenSpaceTransformWithoutSurfaceContentsScale( 679 gfx::Transform ToScreenSpaceTransformWithoutSurfaceContentsScale(
668 int transform_id, 680 int transform_id,
669 int effect_id) const; 681 int effect_id) const;
670 682
683 ClipRectData* FetchClipRectFromCache(int clip_id, int target_id);
684
671 private: 685 private:
672 gfx::Vector2dF inner_viewport_container_bounds_delta_; 686 gfx::Vector2dF inner_viewport_container_bounds_delta_;
673 gfx::Vector2dF outer_viewport_container_bounds_delta_; 687 gfx::Vector2dF outer_viewport_container_bounds_delta_;
674 gfx::Vector2dF inner_viewport_scroll_bounds_delta_; 688 gfx::Vector2dF inner_viewport_scroll_bounds_delta_;
675 689
676 // GetDrawTransforms may change the value of cached_data_. 690 // GetDrawTransforms may change the value of cached_data_.
677 DrawTransforms& GetDrawTransforms(int transform_id, int effect_id) const; 691 DrawTransforms& GetDrawTransforms(int transform_id, int effect_id) const;
678 DrawTransformData& FetchDrawTransformsDataFromCache(int transform_id, 692 DrawTransformData& FetchDrawTransformsDataFromCache(int transform_id,
679 int effect_id) const; 693 int effect_id) const;
680 694
681 PropertyTreesCachedData cached_data_; 695 PropertyTreesCachedData cached_data_;
682 }; 696 };
683 697
684 } // namespace cc 698 } // namespace cc
685 699
686 #endif // CC_TREES_PROPERTY_TREE_H_ 700 #endif // CC_TREES_PROPERTY_TREE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698