Index: cc/layers/quad_sink.h |
diff --git a/cc/layers/quad_sink.h b/cc/layers/quad_sink.h |
index 0b503e4952979be1d7da299ae476f1eb5b07ca06..c033bfb489e89b8978e4aac5d3b9f4ea07beb219 100644 |
--- a/cc/layers/quad_sink.h |
+++ b/cc/layers/quad_sink.h |
@@ -17,26 +17,41 @@ namespace cc { |
class DrawQuad; |
class LayerImpl; |
+class RenderPass; |
+class RenderSurfaceImpl; |
class SharedQuadState; |
+template <typename LayerType> |
+class OcclusionTracker; |
class CC_EXPORT QuadSink { |
public: |
- virtual ~QuadSink() {} |
+ QuadSink(RenderPass* render_pass, |
+ const OcclusionTracker<LayerImpl>* occlusion_tracker); |
+ ~QuadSink() {} |
// Call this to add a SharedQuadState before appending quads that refer to it. |
// Returns a pointer to the given SharedQuadState, that can be set on the |
// quads to append. |
- virtual SharedQuadState* CreateSharedQuadState() = 0; |
+ virtual SharedQuadState* CreateSharedQuadState(); |
- virtual gfx::Rect UnoccludedContentRect( |
- const gfx::Rect& content_rect, |
- const gfx::Transform& draw_transform) = 0; |
+ virtual gfx::Rect UnoccludedContentRect(const gfx::Rect& content_rect, |
+ const gfx::Transform& draw_transform); |
virtual gfx::Rect UnoccludedContributingSurfaceContentRect( |
const gfx::Rect& content_rect, |
- const gfx::Transform& draw_transform) = 0; |
+ const gfx::Transform& draw_transform); |
- virtual void Append(scoped_ptr<DrawQuad> draw_quad) = 0; |
+ virtual void Append(scoped_ptr<DrawQuad> draw_quad); |
+ |
+ protected: |
+ RenderPass* render_pass_; |
+ |
+ SharedQuadState* current_shared_quad_state_; |
+ |
+ private: |
+ const OcclusionTracker<LayerImpl>* occlusion_tracker_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(QuadSink); |
}; |
} // namespace cc |