Index: cc/quads/render_pass.h |
diff --git a/cc/quads/render_pass.h b/cc/quads/render_pass.h |
index ce5a90e514d8772695c0be2d91203adfa0665795..3fcd193b3b8d4af16e6126533814796ff8abae05 100644 |
--- a/cc/quads/render_pass.h |
+++ b/cc/quads/render_pass.h |
@@ -24,6 +24,7 @@ class Value; |
namespace cc { |
class DrawQuad; |
+class RenderPassDrawQuad; |
class CopyOutputRequest; |
class SharedQuadState; |
@@ -96,6 +97,13 @@ class CC_EXPORT RenderPass { |
return static_cast<DrawQuadType*>(quad_list.back()); |
} |
+ RenderPassDrawQuad* CopyFromAndAppendRenderPassDrawQuad( |
+ const RenderPassDrawQuad* quad, |
+ const SharedQuadState* shared_quad_state, |
+ RenderPass::Id render_pass_id); |
+ DrawQuad* CopyFromAndAppendDrawQuad(const DrawQuad* quad, |
+ const SharedQuadState* shared_quad_state); |
+ |
// Uniquely identifies the render pass in the compositor's current frame. |
Id id; |
@@ -124,6 +132,14 @@ class CC_EXPORT RenderPass { |
RenderPass(); |
private: |
+ template <typename DrawQuadType> |
+ DrawQuadType* CopyFromAndAppendTypedDrawQuad(const DrawQuadType* quad) { |
+ scoped_ptr<DrawQuadType> draw_quad = |
+ make_scoped_ptr(new DrawQuadType(*quad)); |
+ quad_list.push_back(draw_quad.template PassAs<DrawQuad>()); |
+ return static_cast<DrawQuadType*>(quad_list.back()); |
+ } |
+ |
DISALLOW_COPY_AND_ASSIGN(RenderPass); |
}; |