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 3 // found in the LICENSE file. 4 5 #ifndef CC_TEST_RENDER_PASS_TEST_UTILS_H_ 6 #define CC_TEST_RENDER_PASS_TEST_UTILS_H_ 7 8 #include "cc/base/scoped_ptr_vector.h" 9 #include "cc/output/filter_operations.h" 10 #include "cc/quads/render_pass.h" 11 #include "cc/resources/resource_provider.h" 12 #include "third_party/skia/include/core/SkColor.h" 13 14 namespace gfx { 15 class Rect; 16 class Transform; 17 } 18 19 namespace cc { 20 21 class SolidColorDrawQuad; 22 class TestRenderPass; 23 24 // Adds a new render pass with the provided properties to the given 25 // render pass list. 26 TestRenderPass* AddRenderPass(RenderPassList* pass_list, 27 RenderPassId id, 28 const gfx::Rect& output_rect, 29 const gfx::Transform& root_transform); 30 31 // Adds a solid quad to a given render pass. 32 SolidColorDrawQuad* AddQuad(TestRenderPass* pass, 33 const gfx::Rect& rect, 34 SkColor color); 35 36 // Adds a solid quad to a given render pass and sets is_clipped=true. 37 SolidColorDrawQuad* AddClippedQuad(TestRenderPass* pass, 38 const gfx::Rect& rect, 39 SkColor color); 40 41 // Adds a solid quad with a transform to a given render pass. 42 SolidColorDrawQuad* AddTransformedQuad(TestRenderPass* pass, 43 const gfx::Rect& rect, 44 SkColor color, 45 const gfx::Transform& transform); 46 47 // Adds a render pass quad to an existing render pass. 48 void AddRenderPassQuad(TestRenderPass* to_pass, 49 TestRenderPass* contributing_pass); 50 51 // Adds a render pass quad with the given mask resource, filter, and transform. 52 void AddRenderPassQuad(TestRenderPass* toPass, 53 TestRenderPass* contributing_pass, 54 ResourceProvider::ResourceId mask_resource_id, 55 const FilterOperations& filters, 56 gfx::Transform transform); 57 58 } // namespace cc 59 60 #endif // CC_TEST_RENDER_PASS_TEST_UTILS_H_ 61