| 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 |