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

Side by Side Diff: cc/trees/occlusion_tracker_unittest.cc

Issue 1175113010: cc: Rename visible_content_rect and content stuff on quads. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rename-visible-content-rect: moreandroid Created 5 years, 6 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
« no previous file with comments | « cc/trees/occlusion_tracker.cc ('k') | components/view_manager/display_manager.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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 #include "cc/trees/occlusion_tracker.h" 5 #include "cc/trees/occlusion_tracker.h"
6 6
7 #include "cc/animation/layer_animation_controller.h" 7 #include "cc/animation/layer_animation_controller.h"
8 #include "cc/base/math_util.h" 8 #include "cc/base/math_util.h"
9 #include "cc/layers/layer.h" 9 #include "cc/layers/layer.h"
10 #include "cc/layers/layer_impl.h" 10 #include "cc/layers/layer_impl.h"
(...skipping 17 matching lines...) Expand all
28 namespace cc { 28 namespace cc {
29 namespace { 29 namespace {
30 30
31 class TestContentLayerImpl : public LayerImpl { 31 class TestContentLayerImpl : public LayerImpl {
32 public: 32 public:
33 TestContentLayerImpl(LayerTreeImpl* tree_impl, int id) 33 TestContentLayerImpl(LayerTreeImpl* tree_impl, int id)
34 : LayerImpl(tree_impl, id), override_opaque_contents_rect_(false) { 34 : LayerImpl(tree_impl, id), override_opaque_contents_rect_(false) {
35 SetDrawsContent(true); 35 SetDrawsContent(true);
36 } 36 }
37 37
38 SimpleEnclosedRegion VisibleContentOpaqueRegion() const override { 38 SimpleEnclosedRegion VisibleOpaqueRegion() const override {
39 if (override_opaque_contents_rect_) { 39 if (override_opaque_contents_rect_) {
40 return SimpleEnclosedRegion( 40 return SimpleEnclosedRegion(
41 gfx::IntersectRects(opaque_contents_rect_, visible_content_rect())); 41 gfx::IntersectRects(opaque_contents_rect_, visible_layer_rect()));
42 } 42 }
43 return LayerImpl::VisibleContentOpaqueRegion(); 43 return LayerImpl::VisibleOpaqueRegion();
44 } 44 }
45 void SetOpaqueContentsRect(const gfx::Rect& opaque_contents_rect) { 45 void SetOpaqueContentsRect(const gfx::Rect& opaque_contents_rect) {
46 override_opaque_contents_rect_ = true; 46 override_opaque_contents_rect_ = true;
47 opaque_contents_rect_ = opaque_contents_rect; 47 opaque_contents_rect_ = opaque_contents_rect;
48 } 48 }
49 49
50 private: 50 private:
51 bool override_opaque_contents_rect_; 51 bool override_opaque_contents_rect_;
52 gfx::Rect opaque_contents_rect_; 52 gfx::Rect opaque_contents_rect_;
53 }; 53 };
54 54
55 class TestOcclusionTrackerWithClip : public TestOcclusionTracker { 55 class TestOcclusionTrackerWithClip : public TestOcclusionTracker {
56 public: 56 public:
57 explicit TestOcclusionTrackerWithClip(const gfx::Rect& viewport_rect) 57 explicit TestOcclusionTrackerWithClip(const gfx::Rect& viewport_rect)
58 : TestOcclusionTracker(viewport_rect) {} 58 : TestOcclusionTracker(viewport_rect) {}
59 59
60 bool OccludedLayer(const LayerImpl* layer, 60 bool OccludedLayer(const LayerImpl* layer,
61 const gfx::Rect& content_rect) const { 61 const gfx::Rect& content_rect) const {
62 DCHECK(layer->visible_content_rect().Contains(content_rect)); 62 DCHECK(layer->visible_layer_rect().Contains(content_rect));
63 return this->GetCurrentOcclusionForLayer(layer->draw_transform()) 63 return this->GetCurrentOcclusionForLayer(layer->draw_transform())
64 .IsOccluded(content_rect); 64 .IsOccluded(content_rect);
65 } 65 }
66 66
67 // Gives an unoccluded sub-rect of |content_rect| in the content space of the 67 // Gives an unoccluded sub-rect of |content_rect| in the content space of the
68 // layer. Simple wrapper around GetUnoccludedContentRect. 68 // layer. Simple wrapper around GetUnoccludedContentRect.
69 gfx::Rect UnoccludedLayerContentRect(const LayerImpl* layer, 69 gfx::Rect UnoccludedLayerContentRect(const LayerImpl* layer,
70 const gfx::Rect& content_rect) const { 70 const gfx::Rect& content_rect) const {
71 DCHECK(layer->visible_content_rect().Contains(content_rect)); 71 DCHECK(layer->visible_layer_rect().Contains(content_rect));
72 return this->GetCurrentOcclusionForLayer(layer->draw_transform()) 72 return this->GetCurrentOcclusionForLayer(layer->draw_transform())
73 .GetUnoccludedContentRect(content_rect); 73 .GetUnoccludedContentRect(content_rect);
74 } 74 }
75 75
76 gfx::Rect UnoccludedSurfaceContentRect(const LayerImpl* layer, 76 gfx::Rect UnoccludedSurfaceContentRect(const LayerImpl* layer,
77 const gfx::Rect& content_rect) const { 77 const gfx::Rect& content_rect) const {
78 RenderSurfaceImpl* surface = layer->render_surface(); 78 RenderSurfaceImpl* surface = layer->render_surface();
79 return this->GetCurrentOcclusionForContributingSurface( 79 return this->GetCurrentOcclusionForContributingSurface(
80 surface->draw_transform()) 80 surface->draw_transform())
81 .GetUnoccludedContentRect(content_rect); 81 .GetUnoccludedContentRect(content_rect);
(...skipping 555 matching lines...) Expand 10 before | Expand all | Expand 10 after
637 root, this->identity_matrix, gfx::PointF(), gfx::Size(100, 100), true); 637 root, this->identity_matrix, gfx::PointF(), gfx::Size(100, 100), true);
638 LayerImpl* child = this->CreateSurface( 638 LayerImpl* child = this->CreateSurface(
639 parent, child_transform, gfx::PointF(30.f, 30.f), gfx::Size(500, 500)); 639 parent, child_transform, gfx::PointF(30.f, 30.f), gfx::Size(500, 500));
640 TestContentLayerImpl* layer = this->CreateDrawingLayer( 640 TestContentLayerImpl* layer = this->CreateDrawingLayer(
641 child, layer_transform, gfx::PointF(), gfx::Size(500, 500), true); 641 child, layer_transform, gfx::PointF(), gfx::Size(500, 500), true);
642 this->CalcDrawEtc(root); 642 this->CalcDrawEtc(root);
643 643
644 TestOcclusionTrackerWithClip occlusion(gfx::Rect(0, 0, 1000, 1000)); 644 TestOcclusionTrackerWithClip occlusion(gfx::Rect(0, 0, 1000, 1000));
645 645
646 gfx::Rect clipped_layer_in_child = MathUtil::MapEnclosingClippedRect( 646 gfx::Rect clipped_layer_in_child = MathUtil::MapEnclosingClippedRect(
647 layer_transform, layer->visible_content_rect()); 647 layer_transform, layer->visible_layer_rect());
648 648
649 this->VisitLayer(layer, &occlusion); 649 this->VisitLayer(layer, &occlusion);
650 this->EnterContributingSurface(child, &occlusion); 650 this->EnterContributingSurface(child, &occlusion);
651 651
652 EXPECT_EQ(gfx::Rect().ToString(), 652 EXPECT_EQ(gfx::Rect().ToString(),
653 occlusion.occlusion_from_outside_target().ToString()); 653 occlusion.occlusion_from_outside_target().ToString());
654 EXPECT_EQ(clipped_layer_in_child.ToString(), 654 EXPECT_EQ(clipped_layer_in_child.ToString(),
655 occlusion.occlusion_from_inside_target().ToString()); 655 occlusion.occlusion_from_inside_target().ToString());
656 656
657 this->LeaveContributingSurface(child, &occlusion); 657 this->LeaveContributingSurface(child, &occlusion);
(...skipping 1852 matching lines...) Expand 10 before | Expand all | Expand 10 after
2510 EXPECT_EQ(gfx::Rect(), 2510 EXPECT_EQ(gfx::Rect(),
2511 occlusion.UnoccludedSurfaceContentRect( 2511 occlusion.UnoccludedSurfaceContentRect(
2512 surface, gfx::Rect(80, 70, 50, 50))); 2512 surface, gfx::Rect(80, 70, 50, 50)));
2513 } 2513 }
2514 }; 2514 };
2515 2515
2516 ALL_OCCLUSIONTRACKER_TEST(OcclusionTrackerTestUnoccludedSurfaceQuery) 2516 ALL_OCCLUSIONTRACKER_TEST(OcclusionTrackerTestUnoccludedSurfaceQuery)
2517 2517
2518 } // namespace 2518 } // namespace
2519 } // namespace cc 2519 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/occlusion_tracker.cc ('k') | components/view_manager/display_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698