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 #ifndef CC_TEST_SURFACE_AGGREGATOR_TEST_HELPERS_H_ | 5 #ifndef CC_TEST_SURFACE_AGGREGATOR_TEST_HELPERS_H_ |
6 #define CC_TEST_SURFACE_AGGREGATOR_TEST_HELPERS_H_ | 6 #define CC_TEST_SURFACE_AGGREGATOR_TEST_HELPERS_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 | 9 |
10 #include <vector> | 10 #include <vector> |
11 | 11 |
12 #include "cc/quads/draw_quad.h" | 12 #include "cc/quads/draw_quad.h" |
13 #include "cc/quads/render_pass_id.h" | 13 #include "cc/quads/render_pass_id.h" |
14 #include "cc/surfaces/surface_id.h" | 14 #include "cc/surfaces/surface_id.h" |
15 #include "third_party/skia/include/core/SkColor.h" | 15 #include "third_party/skia/include/core/SkColor.h" |
16 #include "ui/gfx/geometry/size.h" | 16 #include "ui/gfx/geometry/size.h" |
17 | 17 |
18 namespace cc { | 18 namespace cc { |
19 | 19 |
20 class RenderPass; | 20 class RenderPass; |
21 class Surface; | 21 class Surface; |
22 class TestRenderPass; | 22 class TestRenderPass; |
23 | 23 |
24 typedef std::vector<scoped_ptr<RenderPass>> RenderPassList; | 24 typedef std::vector<scoped_ptr<RenderPass>> RenderPassList; |
25 | 25 |
26 namespace test { | 26 namespace test { |
27 | 27 |
28 struct Quad { | 28 struct Quad { |
29 static Quad SolidColorQuad(SkColor color) { | 29 static Quad SolidColorQuad(SkColor color); |
30 Quad quad; | 30 static Quad SurfaceQuad(SurfaceId surface_id, float opacity); |
31 quad.material = DrawQuad::SOLID_COLOR; | 31 static Quad RenderPassQuad(RenderPassId id); |
32 quad.color = color; | |
33 return quad; | |
34 } | |
35 | |
36 static Quad SurfaceQuad(SurfaceId surface_id, float opacity) { | |
37 Quad quad; | |
38 quad.material = DrawQuad::SURFACE_CONTENT; | |
39 quad.opacity = opacity; | |
40 quad.surface_id = surface_id; | |
41 return quad; | |
42 } | |
43 | |
44 static Quad RenderPassQuad(RenderPassId id) { | |
45 Quad quad; | |
46 quad.material = DrawQuad::RENDER_PASS; | |
47 quad.render_pass_id = id; | |
48 return quad; | |
49 } | |
50 | 32 |
51 DrawQuad::Material material; | 33 DrawQuad::Material material; |
52 // Set when material==DrawQuad::SURFACE_CONTENT. | 34 // Set when material==DrawQuad::SURFACE_CONTENT. |
53 SurfaceId surface_id; | 35 SurfaceId surface_id; |
54 float opacity; | 36 float opacity; |
55 // Set when material==DrawQuad::SOLID_COLOR. | 37 // Set when material==DrawQuad::SOLID_COLOR. |
56 SkColor color; | 38 SkColor color; |
57 // Set when material==DrawQuad::RENDER_PASS. | 39 // Set when material==DrawQuad::RENDER_PASS. |
58 RenderPassId render_pass_id; | 40 RenderPassId render_pass_id; |
59 | 41 |
60 private: | 42 private: |
61 Quad() : material(DrawQuad::INVALID), opacity(1.f), color(SK_ColorWHITE) {} | 43 Quad(); |
62 }; | 44 }; |
63 | 45 |
64 struct Pass { | 46 struct Pass { |
65 Pass(Quad* quads, size_t quad_count, RenderPassId id) | 47 Pass(Quad* quads, size_t quad_count, RenderPassId id) |
66 : quads(quads), quad_count(quad_count), id(id) {} | 48 : quads(quads), quad_count(quad_count), id(id) {} |
67 Pass(Quad* quads, size_t quad_count) | 49 Pass(Quad* quads, size_t quad_count) |
68 : quads(quads), quad_count(quad_count), id(1, 1) {} | 50 : quads(quads), quad_count(quad_count), id(1, 1) {} |
69 | 51 |
70 Quad* quads; | 52 Quad* quads; |
71 size_t quad_count; | 53 size_t quad_count; |
(...skipping 16 matching lines...) Expand all Loading... |
88 void TestPassMatchesExpectations(Pass expected_pass, const RenderPass* pass); | 70 void TestPassMatchesExpectations(Pass expected_pass, const RenderPass* pass); |
89 | 71 |
90 void TestPassesMatchExpectations(Pass* expected_passes, | 72 void TestPassesMatchExpectations(Pass* expected_passes, |
91 size_t expected_pass_count, | 73 size_t expected_pass_count, |
92 const RenderPassList* passes); | 74 const RenderPassList* passes); |
93 | 75 |
94 } // namespace test | 76 } // namespace test |
95 } // namespace cc | 77 } // namespace cc |
96 | 78 |
97 #endif // CC_TEST_SURFACE_AGGREGATOR_TEST_HELPERS_H_ | 79 #endif // CC_TEST_SURFACE_AGGREGATOR_TEST_HELPERS_H_ |
OLD | NEW |