Index: cc/surfaces/surface_aggregator.h |
diff --git a/cc/surfaces/surface_aggregator.h b/cc/surfaces/surface_aggregator.h |
index 9cb0578819dd5a31b04a75f392d0e184f4377812..8ae3b04cad7757135a9ab2cc526dd5cf115c0c43 100644 |
--- a/cc/surfaces/surface_aggregator.h |
+++ b/cc/surfaces/surface_aggregator.h |
@@ -38,19 +38,34 @@ class CC_SURFACES_EXPORT SurfaceAggregator { |
} |
private: |
+ struct ClipData { |
+ ClipData() : is_clipped(false) {} |
+ ClipData(bool is_clipped, const gfx::Rect& rect) |
+ : is_clipped(is_clipped), rect(rect) {} |
+ |
+ bool is_clipped; |
+ gfx::Rect rect; |
+ }; |
+ |
+ ClipData CalculateClipRect(const ClipData& surface_clip, |
+ const ClipData& quad_clip, |
+ const gfx::Transform& content_to_target_transform); |
+ |
RenderPassId RemapPassId(RenderPassId surface_local_pass_id, |
SurfaceId surface_id); |
void HandleSurfaceQuad(const SurfaceDrawQuad* surface_quad, |
- float opacity, |
+ const gfx::Transform& content_to_target_transform, |
+ const ClipData& clip_rect, |
RenderPass* dest_pass); |
void CopySharedQuadState(const SharedQuadState* source_sqs, |
const gfx::Transform& content_to_target_transform, |
+ const ClipData& clip_rect, |
RenderPass* dest_render_pass); |
void CopyQuadsToPass(const QuadList& source_quad_list, |
const SharedQuadStateList& source_shared_quad_state_list, |
const gfx::Transform& content_to_target_transform, |
- float opacity, |
+ const ClipData& clip_rect, |
RenderPass* dest_pass, |
SurfaceId surface_id); |
void CopyPasses(const DelegatedFrameData* frame_data, Surface* surface); |