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
3 // found in the LICENSE file.
5 #ifndef CC_SURFACES_SURFACE_AGGREGATOR_TEST_HELPERS_H_
6 #define CC_SURFACES_SURFACE_AGGREGATOR_TEST_HELPERS_H_
8 #include "cc/quads/draw_quad.h"
9 #include "cc/quads/render_pass.h"
10 #include "cc/surfaces/surface_id.h"
11 #include "third_party/skia/include/core/SkColor.h"
12 #include "ui/gfx/size.h"
22 static Quad
SolidColorQuad(SkColor color
) {
24 quad
.material
= DrawQuad::SOLID_COLOR
;
29 static Quad
SurfaceQuad(SurfaceId surface_id
) {
31 quad
.material
= DrawQuad::SURFACE_CONTENT
;
32 quad
.surface_id
= surface_id
;
36 static Quad
RenderPassQuad(RenderPass::Id id
) {
38 quad
.material
= DrawQuad::RENDER_PASS
;
39 quad
.render_pass_id
= id
;
43 DrawQuad::Material material
;
44 // Set when material==DrawQuad::SURFACE_CONTENT.
46 // Set when material==DrawQuad::SOLID_COLOR.
48 // Set when material==DrawQuad::RENDER_PASS.
49 RenderPass::Id render_pass_id
;
53 : material(DrawQuad::INVALID
),
55 render_pass_id(-1, -1) {}
59 Pass(Quad
* quads
, size_t quad_count
, RenderPass::Id id
)
60 : quads(quads
), quad_count(quad_count
), id(id
) {}
61 Pass(Quad
* quads
, size_t quad_count
)
62 : quads(quads
), quad_count(quad_count
), id(1, 1) {}
69 void AddSurfaceQuad(TestRenderPass
* pass
,
70 const gfx::Size
& surface_size
,
73 void AddQuadInPass(TestRenderPass
* pass
, Quad desc
);
75 void AddPasses(RenderPassList
* pass_list
,
76 const gfx::Rect
& output_rect
,
80 void TestQuadMatchesExpectations(Quad expected_quad
, DrawQuad
* quad
);
82 void TestPassMatchesExpectations(Pass expected_pass
, RenderPass
* pass
);
84 void TestPassesMatchExpectations(Pass
* expected_passes
,
85 size_t expected_pass_count
,
86 RenderPassList
* passes
);
91 #endif // CC_SURFACES_SURFACE_AGGREGATOR_TEST_HELPERS_H_