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 14namespace gfx { 15class Rect; 16class Transform; 17} 18 19namespace cc { 20 21class SolidColorDrawQuad; 22class TestRenderPass; 23 24// Adds a new render pass with the provided properties to the given 25// render pass list. 26TestRenderPass* 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. 32SolidColorDrawQuad* 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. 37SolidColorDrawQuad* 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. 42SolidColorDrawQuad* 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. 48void AddRenderPassQuad(TestRenderPass* to_pass, 49 TestRenderPass* contributing_pass); 50 51// Adds a render pass quad with the given mask resource, filter, and transform. 52void 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