Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3360)

Unified Diff: cc/surfaces/surface_aggregator_test_helpers.h

Issue 139763003: Initial surface aggregator implementation (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: use less advanced struct initialization syntax Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/surfaces/surface_aggregator.cc ('k') | cc/surfaces/surface_aggregator_test_helpers.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/surfaces/surface_aggregator_test_helpers.h
diff --git a/cc/surfaces/surface_aggregator_test_helpers.h b/cc/surfaces/surface_aggregator_test_helpers.h
new file mode 100644
index 0000000000000000000000000000000000000000..48acf27abed112729d3827b5fc64a10fefbbecc0
--- /dev/null
+++ b/cc/surfaces/surface_aggregator_test_helpers.h
@@ -0,0 +1,93 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CC_SURFACES_SURFACE_AGGREGATOR_TEST_HELPERS_H_
+#define CC_SURFACES_SURFACE_AGGREGATOR_TEST_HELPERS_H_
+
+#include "cc/quads/draw_quad.h"
+#include "cc/quads/render_pass.h"
+#include "third_party/skia/include/core/SkColor.h"
+#include "ui/gfx/size.h"
+
+namespace cc {
+
+class Surface;
+class TestRenderPass;
+
+namespace test {
+
+struct Quad {
+ static Quad SolidColorQuad(SkColor color) {
+ Quad quad;
+ quad.material = DrawQuad::SOLID_COLOR;
+ quad.color = color;
+ return quad;
+ }
+
+ static Quad SurfaceQuad(int surface_id) {
+ Quad quad;
+ quad.material = DrawQuad::SURFACE_CONTENT;
+ quad.surface_id = surface_id;
+ return quad;
+ }
+
+ static Quad RenderPassQuad(RenderPass::Id id) {
+ Quad quad;
+ quad.material = DrawQuad::RENDER_PASS;
+ quad.render_pass_id = id;
+ return quad;
+ }
+
+ DrawQuad::Material material;
+ // Set when material==DrawQuad::SURFACE_CONTENT.
+ int surface_id;
+ // Set when material==DrawQuad::SOLID_COLOR.
+ SkColor color;
+ // Set when material==DrawQuad::RENDER_PASS.
+ RenderPass::Id render_pass_id;
+
+ private:
+ Quad()
+ : material(DrawQuad::INVALID),
+ surface_id(-1),
+ color(SK_ColorWHITE),
+ render_pass_id(-1, -1) {}
+};
+
+struct Pass {
+ Pass(Quad* quads, size_t quad_count, RenderPass::Id id)
+ : quads(quads), quad_count(quad_count), id(id) {}
+ Pass(Quad* quads, size_t quad_count)
+ : quads(quads), quad_count(quad_count), id(1, 1) {}
+
+ Quad* quads;
+ size_t quad_count;
+ RenderPass::Id id;
+};
+
+void AddSurfaceQuad(TestRenderPass* pass,
+ const gfx::Size& surface_size,
+ int surface_id);
+
+void AddQuadInPass(TestRenderPass* pass, Quad desc);
+
+void AddPasses(RenderPassList* pass_list,
+ const gfx::Rect& output_rect,
+ Pass* passes,
+ size_t pass_count);
+
+void TestQuadMatchesExpectations(Quad expected_quad, DrawQuad* quad);
+
+void TestPassMatchesExpectations(Pass expected_pass, RenderPass* pass);
+
+void TestPassesMatchExpectations(Pass* expected_passes,
+ size_t expected_pass_count,
+ RenderPassList* passes);
+
+void SubmitFrame(Pass* passes, size_t pass_count, Surface* surface);
+
+} // namespace test
+} // namespace cc
+
+#endif // CC_SURFACES_SURFACE_AGGREGATOR_TEST_HELPERS_H_
« no previous file with comments | « cc/surfaces/surface_aggregator.cc ('k') | cc/surfaces/surface_aggregator_test_helpers.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698