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/surfaces/surface_aggregator_test_helpers.h" | 5 #include "cc/surfaces/surface_aggregator_test_helpers.h" |
6 | 6 |
7 #include "base/format_macros.h" | 7 #include "base/format_macros.h" |
8 #include "base/strings/stringprintf.h" | 8 #include "base/strings/stringprintf.h" |
9 #include "cc/layers/append_quads_data.h" | 9 #include "cc/layers/append_quads_data.h" |
10 #include "cc/output/compositor_frame.h" | 10 #include "cc/output/compositor_frame.h" |
11 #include "cc/output/delegated_frame_data.h" | 11 #include "cc/output/delegated_frame_data.h" |
12 #include "cc/quads/render_pass_draw_quad.h" | 12 #include "cc/quads/render_pass_draw_quad.h" |
13 #include "cc/quads/shared_quad_state.h" | 13 #include "cc/quads/shared_quad_state.h" |
14 #include "cc/quads/solid_color_draw_quad.h" | 14 #include "cc/quads/solid_color_draw_quad.h" |
15 #include "cc/quads/surface_draw_quad.h" | 15 #include "cc/quads/surface_draw_quad.h" |
16 #include "cc/surfaces/surface.h" | 16 #include "cc/surfaces/surface.h" |
17 #include "cc/test/render_pass_test_common.h" | 17 #include "cc/test/render_pass_test_common.h" |
18 #include "cc/test/render_pass_test_utils.h" | 18 #include "cc/test/render_pass_test_utils.h" |
19 #include "testing/gtest/include/gtest/gtest.h" | 19 #include "testing/gtest/include/gtest/gtest.h" |
20 #include "third_party/skia/include/core/SkXfermode.h" | 20 #include "third_party/skia/include/core/SkXfermode.h" |
21 | 21 |
22 namespace cc { | 22 namespace cc { |
23 namespace test { | 23 namespace test { |
24 | 24 |
25 void AddTestSurfaceQuad(TestRenderPass* pass, | 25 void AddTestSurfaceQuad(TestRenderPass* pass, |
26 const gfx::Size& surface_size, | 26 const gfx::Size& surface_size, |
| 27 float opacity, |
27 SurfaceId surface_id) { | 28 SurfaceId surface_id) { |
28 gfx::Transform content_to_target_transform; | 29 gfx::Transform content_to_target_transform; |
29 gfx::Size content_bounds = surface_size; | 30 gfx::Size content_bounds = surface_size; |
30 gfx::Rect visible_content_rect = gfx::Rect(surface_size); | 31 gfx::Rect visible_content_rect = gfx::Rect(surface_size); |
31 gfx::Rect clip_rect = gfx::Rect(surface_size); | 32 gfx::Rect clip_rect = gfx::Rect(surface_size); |
32 bool is_clipped = false; | 33 bool is_clipped = false; |
33 float opacity = 1.0; | |
34 SkXfermode::Mode blend_mode = SkXfermode::kSrcOver_Mode; | 34 SkXfermode::Mode blend_mode = SkXfermode::kSrcOver_Mode; |
35 | 35 |
36 SharedQuadState* shared_quad_state = pass->CreateAndAppendSharedQuadState(); | 36 SharedQuadState* shared_quad_state = pass->CreateAndAppendSharedQuadState(); |
37 shared_quad_state->SetAll(content_to_target_transform, | 37 shared_quad_state->SetAll(content_to_target_transform, |
38 content_bounds, | 38 content_bounds, |
39 visible_content_rect, | 39 visible_content_rect, |
40 clip_rect, | 40 clip_rect, |
41 is_clipped, | 41 is_clipped, |
42 opacity, | 42 opacity, |
43 blend_mode, | 43 blend_mode, |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
75 gfx::Vector2dF(), | 75 gfx::Vector2dF(), |
76 FilterOperations()); | 76 FilterOperations()); |
77 } | 77 } |
78 | 78 |
79 void AddQuadInPass(TestRenderPass* pass, Quad desc) { | 79 void AddQuadInPass(TestRenderPass* pass, Quad desc) { |
80 switch (desc.material) { | 80 switch (desc.material) { |
81 case DrawQuad::SOLID_COLOR: | 81 case DrawQuad::SOLID_COLOR: |
82 AddQuad(pass, gfx::Rect(0, 0, 5, 5), desc.color); | 82 AddQuad(pass, gfx::Rect(0, 0, 5, 5), desc.color); |
83 break; | 83 break; |
84 case DrawQuad::SURFACE_CONTENT: | 84 case DrawQuad::SURFACE_CONTENT: |
85 AddTestSurfaceQuad(pass, gfx::Size(5, 5), desc.surface_id); | 85 AddTestSurfaceQuad(pass, gfx::Size(5, 5), desc.opacity, desc.surface_id); |
86 break; | 86 break; |
87 case DrawQuad::RENDER_PASS: | 87 case DrawQuad::RENDER_PASS: |
88 AddTestRenderPassQuad(pass, desc.render_pass_id); | 88 AddTestRenderPassQuad(pass, desc.render_pass_id); |
89 break; | 89 break; |
90 default: | 90 default: |
91 NOTREACHED(); | 91 NOTREACHED(); |
92 } | 92 } |
93 } | 93 } |
94 | 94 |
95 void AddPasses(RenderPassList* pass_list, | 95 void AddPasses(RenderPassList* pass_list, |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
149 | 149 |
150 for (size_t i = 0; i < passes->size(); ++i) { | 150 for (size_t i = 0; i < passes->size(); ++i) { |
151 SCOPED_TRACE(base::StringPrintf("Pass number %" PRIuS, i)); | 151 SCOPED_TRACE(base::StringPrintf("Pass number %" PRIuS, i)); |
152 RenderPass* pass = passes->at(i); | 152 RenderPass* pass = passes->at(i); |
153 TestPassMatchesExpectations(expected_passes[i], pass); | 153 TestPassMatchesExpectations(expected_passes[i], pass); |
154 } | 154 } |
155 } | 155 } |
156 | 156 |
157 } // namespace test | 157 } // namespace test |
158 } // namespace cc | 158 } // namespace cc |
OLD | NEW |