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 |