Index: ui/compositor/clip_recorder.cc |
diff --git a/ui/compositor/clip_recorder.cc b/ui/compositor/clip_recorder.cc |
index d2078f5f863eed5c209370ca1cf7adc3e21b523c..1c0eb55da2bb123ba232502963a0dd93e3348855 100644 |
--- a/ui/compositor/clip_recorder.cc |
+++ b/ui/compositor/clip_recorder.cc |
@@ -17,59 +17,47 @@ |
namespace ui { |
ClipRecorder::ClipRecorder(const PaintContext& context) |
- : context_(context), num_closers_(0) {} |
+ : context_(context), num_closers_(0) { |
+ } |
ClipRecorder::~ClipRecorder() { |
for (int i = num_closers_ - 1; i >= 0; --i) { |
- const gfx::Rect& bounds_in_layer = bounds_in_layer_[i]; |
switch (closers_[i]) { |
case CLIP_RECT: |
- context_.list_->CreateAndAppendItem<cc::EndClipDisplayItem>( |
- bounds_in_layer); |
+ context_.list_->CreateAndAppendPairedEndItem<cc::EndClipDisplayItem>(); |
break; |
case CLIP_PATH: |
- context_.list_->CreateAndAppendItem<cc::EndClipPathDisplayItem>( |
- bounds_in_layer); |
+ context_.list_ |
+ ->CreateAndAppendPairedEndItem<cc::EndClipPathDisplayItem>(); |
break; |
} |
} |
} |
-void ClipRecorder::RecordCloser(const gfx::Rect& bounds_in_layer, |
- Closer closer) { |
+void ClipRecorder::RecordCloser(Closer closer) { |
DCHECK_LT(num_closers_, kMaxOpCount); |
- closers_[num_closers_] = closer; |
- bounds_in_layer_[num_closers_++] = bounds_in_layer; |
-} |
- |
-static gfx::Rect PathToEnclosingRect(const gfx::Path& path) { |
- return gfx::ToEnclosingRect(gfx::SkRectToRectF(path.getBounds())); |
+ closers_[num_closers_++] = closer; |
} |
void ClipRecorder::ClipRect(const gfx::Rect& clip_rect) { |
bool antialias = false; |
- gfx::Rect clip_in_layer_space = context_.ToLayerSpaceRect(clip_rect); |
- context_.list_->CreateAndAppendItem<cc::ClipDisplayItem>( |
- clip_in_layer_space, clip_rect, std::vector<SkRRect>(), antialias); |
- RecordCloser(clip_in_layer_space, CLIP_RECT); |
+ context_.list_->CreateAndAppendPairedBeginItem<cc::ClipDisplayItem>( |
+ clip_rect, std::vector<SkRRect>(), antialias); |
+ RecordCloser(CLIP_RECT); |
} |
void ClipRecorder::ClipPath(const gfx::Path& clip_path) { |
bool antialias = false; |
- gfx::Rect clip_in_layer_space = |
- context_.ToLayerSpaceRect(PathToEnclosingRect(clip_path)); |
- context_.list_->CreateAndAppendItem<cc::ClipPathDisplayItem>( |
- clip_in_layer_space, clip_path, SkRegion::kIntersect_Op, antialias); |
- RecordCloser(clip_in_layer_space, CLIP_PATH); |
+ context_.list_->CreateAndAppendPairedBeginItem<cc::ClipPathDisplayItem>( |
+ clip_path, SkRegion::kIntersect_Op, antialias); |
+ RecordCloser(CLIP_PATH); |
} |
void ClipRecorder::ClipPathWithAntiAliasing(const gfx::Path& clip_path) { |
bool antialias = true; |
- gfx::Rect clip_in_layer_space = |
- context_.ToLayerSpaceRect(PathToEnclosingRect(clip_path)); |
- context_.list_->CreateAndAppendItem<cc::ClipPathDisplayItem>( |
- clip_in_layer_space, clip_path, SkRegion::kIntersect_Op, antialias); |
- RecordCloser(clip_in_layer_space, CLIP_PATH); |
+ context_.list_->CreateAndAppendPairedBeginItem<cc::ClipPathDisplayItem>( |
+ clip_path, SkRegion::kIntersect_Op, antialias); |
+ RecordCloser(CLIP_PATH); |
} |
} // namespace ui |