| OLD | NEW |
| 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/layers/solid_color_layer_impl.h" | 5 #include "cc/layers/solid_color_layer_impl.h" |
| 6 | 6 |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "cc/layers/append_quads_data.h" | 9 #include "cc/layers/append_quads_data.h" |
| 10 #include "cc/layers/layer_settings.h" | 10 #include "cc/layers/layer_settings.h" |
| (...skipping 17 matching lines...) Expand all Loading... |
| 28 gfx::Rect visible_layer_rect = gfx::Rect(layer_size); | 28 gfx::Rect visible_layer_rect = gfx::Rect(layer_size); |
| 29 | 29 |
| 30 FakeImplTaskRunnerProvider task_runner_provider; | 30 FakeImplTaskRunnerProvider task_runner_provider; |
| 31 TestTaskGraphRunner task_graph_runner; | 31 TestTaskGraphRunner task_graph_runner; |
| 32 FakeLayerTreeHostImpl host_impl(&task_runner_provider, nullptr, | 32 FakeLayerTreeHostImpl host_impl(&task_runner_provider, nullptr, |
| 33 &task_graph_runner); | 33 &task_graph_runner); |
| 34 scoped_ptr<SolidColorLayerImpl> layer = | 34 scoped_ptr<SolidColorLayerImpl> layer = |
| 35 SolidColorLayerImpl::Create(host_impl.active_tree(), 1); | 35 SolidColorLayerImpl::Create(host_impl.active_tree(), 1); |
| 36 layer->draw_properties().visible_layer_rect = visible_layer_rect; | 36 layer->draw_properties().visible_layer_rect = visible_layer_rect; |
| 37 layer->SetBounds(layer_size); | 37 layer->SetBounds(layer_size); |
| 38 layer->SetForceRenderSurface(true); | 38 layer->SetHasRenderSurface(true); |
| 39 layer->draw_properties().render_target = layer.get(); | 39 layer->draw_properties().render_target = layer.get(); |
| 40 | 40 |
| 41 AppendQuadsData data; | 41 AppendQuadsData data; |
| 42 layer->AppendQuads(render_pass.get(), &data); | 42 layer->AppendQuads(render_pass.get(), &data); |
| 43 | 43 |
| 44 LayerTestCommon::VerifyQuadsExactlyCoverRect(render_pass->quad_list, | 44 LayerTestCommon::VerifyQuadsExactlyCoverRect(render_pass->quad_list, |
| 45 visible_layer_rect); | 45 visible_layer_rect); |
| 46 } | 46 } |
| 47 | 47 |
| 48 TEST(SolidColorLayerImplTest, VerifyCorrectBackgroundColorInQuad) { | 48 TEST(SolidColorLayerImplTest, VerifyCorrectBackgroundColorInQuad) { |
| 49 SkColor test_color = 0xFFA55AFF; | 49 SkColor test_color = 0xFFA55AFF; |
| 50 | 50 |
| 51 scoped_ptr<RenderPass> render_pass = RenderPass::Create(); | 51 scoped_ptr<RenderPass> render_pass = RenderPass::Create(); |
| 52 | 52 |
| 53 gfx::Size layer_size = gfx::Size(100, 100); | 53 gfx::Size layer_size = gfx::Size(100, 100); |
| 54 gfx::Rect visible_layer_rect = gfx::Rect(layer_size); | 54 gfx::Rect visible_layer_rect = gfx::Rect(layer_size); |
| 55 | 55 |
| 56 FakeImplTaskRunnerProvider task_runner_provider; | 56 FakeImplTaskRunnerProvider task_runner_provider; |
| 57 TestTaskGraphRunner task_graph_runner; | 57 TestTaskGraphRunner task_graph_runner; |
| 58 FakeLayerTreeHostImpl host_impl(&task_runner_provider, nullptr, | 58 FakeLayerTreeHostImpl host_impl(&task_runner_provider, nullptr, |
| 59 &task_graph_runner); | 59 &task_graph_runner); |
| 60 scoped_ptr<SolidColorLayerImpl> layer = | 60 scoped_ptr<SolidColorLayerImpl> layer = |
| 61 SolidColorLayerImpl::Create(host_impl.active_tree(), 1); | 61 SolidColorLayerImpl::Create(host_impl.active_tree(), 1); |
| 62 layer->draw_properties().visible_layer_rect = visible_layer_rect; | 62 layer->draw_properties().visible_layer_rect = visible_layer_rect; |
| 63 layer->SetBounds(layer_size); | 63 layer->SetBounds(layer_size); |
| 64 layer->SetBackgroundColor(test_color); | 64 layer->SetBackgroundColor(test_color); |
| 65 layer->SetForceRenderSurface(true); | 65 layer->SetHasRenderSurface(true); |
| 66 layer->draw_properties().render_target = layer.get(); | 66 layer->draw_properties().render_target = layer.get(); |
| 67 | 67 |
| 68 AppendQuadsData data; | 68 AppendQuadsData data; |
| 69 layer->AppendQuads(render_pass.get(), &data); | 69 layer->AppendQuads(render_pass.get(), &data); |
| 70 | 70 |
| 71 ASSERT_EQ(render_pass->quad_list.size(), 1U); | 71 ASSERT_EQ(render_pass->quad_list.size(), 1U); |
| 72 EXPECT_EQ( | 72 EXPECT_EQ( |
| 73 SolidColorDrawQuad::MaterialCast(render_pass->quad_list.front())->color, | 73 SolidColorDrawQuad::MaterialCast(render_pass->quad_list.front())->color, |
| 74 test_color); | 74 test_color); |
| 75 } | 75 } |
| 76 | 76 |
| 77 TEST(SolidColorLayerImplTest, VerifyCorrectOpacityInQuad) { | 77 TEST(SolidColorLayerImplTest, VerifyCorrectOpacityInQuad) { |
| 78 const float opacity = 0.5f; | 78 const float opacity = 0.5f; |
| 79 | 79 |
| 80 scoped_ptr<RenderPass> render_pass = RenderPass::Create(); | 80 scoped_ptr<RenderPass> render_pass = RenderPass::Create(); |
| 81 | 81 |
| 82 gfx::Size layer_size = gfx::Size(100, 100); | 82 gfx::Size layer_size = gfx::Size(100, 100); |
| 83 gfx::Rect visible_layer_rect = gfx::Rect(layer_size); | 83 gfx::Rect visible_layer_rect = gfx::Rect(layer_size); |
| 84 | 84 |
| 85 FakeImplTaskRunnerProvider task_runner_provider; | 85 FakeImplTaskRunnerProvider task_runner_provider; |
| 86 TestTaskGraphRunner task_graph_runner; | 86 TestTaskGraphRunner task_graph_runner; |
| 87 FakeLayerTreeHostImpl host_impl(&task_runner_provider, nullptr, | 87 FakeLayerTreeHostImpl host_impl(&task_runner_provider, nullptr, |
| 88 &task_graph_runner); | 88 &task_graph_runner); |
| 89 scoped_ptr<SolidColorLayerImpl> layer = | 89 scoped_ptr<SolidColorLayerImpl> layer = |
| 90 SolidColorLayerImpl::Create(host_impl.active_tree(), 1); | 90 SolidColorLayerImpl::Create(host_impl.active_tree(), 1); |
| 91 layer->draw_properties().visible_layer_rect = visible_layer_rect; | 91 layer->draw_properties().visible_layer_rect = visible_layer_rect; |
| 92 layer->SetBounds(layer_size); | 92 layer->SetBounds(layer_size); |
| 93 layer->draw_properties().opacity = opacity; | 93 layer->draw_properties().opacity = opacity; |
| 94 layer->SetForceRenderSurface(true); | 94 layer->SetHasRenderSurface(true); |
| 95 layer->draw_properties().render_target = layer.get(); | 95 layer->draw_properties().render_target = layer.get(); |
| 96 | 96 |
| 97 AppendQuadsData data; | 97 AppendQuadsData data; |
| 98 layer->AppendQuads(render_pass.get(), &data); | 98 layer->AppendQuads(render_pass.get(), &data); |
| 99 | 99 |
| 100 ASSERT_EQ(render_pass->quad_list.size(), 1U); | 100 ASSERT_EQ(render_pass->quad_list.size(), 1U); |
| 101 EXPECT_EQ(opacity, | 101 EXPECT_EQ(opacity, |
| 102 SolidColorDrawQuad::MaterialCast(render_pass->quad_list.front()) | 102 SolidColorDrawQuad::MaterialCast(render_pass->quad_list.front()) |
| 103 ->shared_quad_state->opacity); | 103 ->shared_quad_state->opacity); |
| 104 } | 104 } |
| (...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 247 LayerTestCommon::VerifyQuadsAreOccluded( | 247 LayerTestCommon::VerifyQuadsAreOccluded( |
| 248 impl.quad_list(), occluded, &partially_occluded_count); | 248 impl.quad_list(), occluded, &partially_occluded_count); |
| 249 // 4 quads are completely occluded, 8 are partially occluded. | 249 // 4 quads are completely occluded, 8 are partially occluded. |
| 250 EXPECT_EQ(16u - 4u, impl.quad_list().size()); | 250 EXPECT_EQ(16u - 4u, impl.quad_list().size()); |
| 251 EXPECT_EQ(8u, partially_occluded_count); | 251 EXPECT_EQ(8u, partially_occluded_count); |
| 252 } | 252 } |
| 253 } | 253 } |
| 254 | 254 |
| 255 } // namespace | 255 } // namespace |
| 256 } // namespace cc | 256 } // namespace cc |
| OLD | NEW |