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 #include "cc/layers/render_surface_impl.h" | 5 #include "cc/layers/render_surface_impl.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include "cc/layers/append_quads_data.h" | 9 #include "cc/layers/append_quads_data.h" |
10 #include "cc/quads/render_pass_draw_quad.h" | 10 #include "cc/quads/render_pass_draw_quad.h" |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
62 EXPECT_EQ(1u, impl.quad_list().size()); | 62 EXPECT_EQ(1u, impl.quad_list().size()); |
63 EXPECT_EQ(1u, partially_occluded_count); | 63 EXPECT_EQ(1u, partially_occluded_count); |
64 } | 64 } |
65 } | 65 } |
66 | 66 |
67 TEST(RenderSurfaceLayerImplTest, AppendQuadsWithScaledMask) { | 67 TEST(RenderSurfaceLayerImplTest, AppendQuadsWithScaledMask) { |
68 gfx::Size layer_size(1000, 1000); | 68 gfx::Size layer_size(1000, 1000); |
69 gfx::Size viewport_size(1000, 1000); | 69 gfx::Size viewport_size(1000, 1000); |
70 | 70 |
71 LayerTestCommon::LayerImplTest impl; | 71 LayerTestCommon::LayerImplTest impl; |
72 scoped_ptr<LayerImpl> root = | 72 std::unique_ptr<LayerImpl> root = |
73 LayerImpl::Create(impl.host_impl()->active_tree(), 2); | 73 LayerImpl::Create(impl.host_impl()->active_tree(), 2); |
74 root->SetHasRenderSurface(true); | 74 root->SetHasRenderSurface(true); |
75 scoped_ptr<LayerImpl> surface = | 75 std::unique_ptr<LayerImpl> surface = |
76 LayerImpl::Create(impl.host_impl()->active_tree(), 3); | 76 LayerImpl::Create(impl.host_impl()->active_tree(), 3); |
77 surface->SetBounds(layer_size); | 77 surface->SetBounds(layer_size); |
78 surface->SetHasRenderSurface(true); | 78 surface->SetHasRenderSurface(true); |
79 | 79 |
80 gfx::Transform scale; | 80 gfx::Transform scale; |
81 scale.Scale(2, 2); | 81 scale.Scale(2, 2); |
82 surface->SetTransform(scale); | 82 surface->SetTransform(scale); |
83 | 83 |
84 surface->SetMaskLayer( | 84 surface->SetMaskLayer( |
85 FakeMaskLayerImpl::Create(impl.host_impl()->active_tree(), 4)); | 85 FakeMaskLayerImpl::Create(impl.host_impl()->active_tree(), 4)); |
86 surface->mask_layer()->SetDrawsContent(true); | 86 surface->mask_layer()->SetDrawsContent(true); |
87 surface->mask_layer()->SetBounds(layer_size); | 87 surface->mask_layer()->SetBounds(layer_size); |
88 | 88 |
89 scoped_ptr<LayerImpl> child = | 89 std::unique_ptr<LayerImpl> child = |
90 LayerImpl::Create(impl.host_impl()->active_tree(), 5); | 90 LayerImpl::Create(impl.host_impl()->active_tree(), 5); |
91 child->SetDrawsContent(true); | 91 child->SetDrawsContent(true); |
92 child->SetBounds(layer_size); | 92 child->SetBounds(layer_size); |
93 | 93 |
94 surface->AddChild(std::move(child)); | 94 surface->AddChild(std::move(child)); |
95 root->AddChild(std::move(surface)); | 95 root->AddChild(std::move(surface)); |
96 impl.host_impl()->active_tree()->SetRootLayer(std::move(root)); | 96 impl.host_impl()->active_tree()->SetRootLayer(std::move(root)); |
97 | 97 |
98 impl.host_impl()->SetViewportSize(viewport_size); | 98 impl.host_impl()->SetViewportSize(viewport_size); |
99 impl.host_impl()->active_tree()->BuildPropertyTreesForTesting(); | 99 impl.host_impl()->active_tree()->BuildPropertyTreesForTesting(); |
100 impl.host_impl()->active_tree()->UpdateDrawProperties(false); | 100 impl.host_impl()->active_tree()->UpdateDrawProperties(false); |
101 | 101 |
102 LayerImpl* surface_raw = | 102 LayerImpl* surface_raw = |
103 impl.host_impl()->active_tree()->root_layer()->children()[0]; | 103 impl.host_impl()->active_tree()->root_layer()->children()[0]; |
104 RenderSurfaceImpl* render_surface_impl = surface_raw->render_surface(); | 104 RenderSurfaceImpl* render_surface_impl = surface_raw->render_surface(); |
105 scoped_ptr<RenderPass> render_pass = RenderPass::Create(); | 105 std::unique_ptr<RenderPass> render_pass = RenderPass::Create(); |
106 AppendQuadsData append_quads_data; | 106 AppendQuadsData append_quads_data; |
107 render_surface_impl->AppendQuads( | 107 render_surface_impl->AppendQuads( |
108 render_pass.get(), render_surface_impl->draw_transform(), Occlusion(), | 108 render_pass.get(), render_surface_impl->draw_transform(), Occlusion(), |
109 SK_ColorBLACK, 1.f, surface_raw->mask_layer(), &append_quads_data, | 109 SK_ColorBLACK, 1.f, surface_raw->mask_layer(), &append_quads_data, |
110 RenderPassId(1, 1)); | 110 RenderPassId(1, 1)); |
111 | 111 |
112 const RenderPassDrawQuad* quad = | 112 const RenderPassDrawQuad* quad = |
113 RenderPassDrawQuad::MaterialCast(render_pass->quad_list.front()); | 113 RenderPassDrawQuad::MaterialCast(render_pass->quad_list.front()); |
114 EXPECT_EQ(gfx::Vector2dF(0.0005f, 0.0005f), quad->mask_uv_scale); | 114 EXPECT_EQ(gfx::Vector2dF(0.0005f, 0.0005f), quad->mask_uv_scale); |
115 EXPECT_EQ(gfx::Vector2dF(2.f, 2.f), quad->filters_scale); | 115 EXPECT_EQ(gfx::Vector2dF(2.f, 2.f), quad->filters_scale); |
116 } | 116 } |
117 | 117 |
118 } // namespace | 118 } // namespace |
119 } // namespace cc | 119 } // namespace cc |
OLD | NEW |