Simplify PictureLayer::Paint. (flutter/engine#2962)

This commit is contained in:
Chinmay Garde 2016-08-22 15:11:11 -07:00 committed by GitHub
parent 3b6c77afb3
commit e27ac27b87

View File

@ -23,15 +23,15 @@ void PictureLayer::Preroll(PrerollContext* context, const SkMatrix& matrix) {
void PictureLayer::Paint(PaintContext& context) {
FTL_DCHECK(picture_);
TRACE_EVENT1("flutter", "PictureLayer::Paint", "image",
image_ ? "prerolled" : "normal");
SkAutoCanvasRestore save(&context.canvas, true);
context.canvas.translate(offset_.x(), offset_.y());
if (image_) {
TRACE_EVENT1("flutter", "PictureLayer::Paint", "image", "prerolled");
SkRect rect = picture_->cullRect().makeOffset(offset_.x(), offset_.y());
context.canvas.drawImageRect(image_.get(), rect, nullptr,
SkCanvas::kFast_SrcRectConstraint);
context.canvas.drawImage(image_.get(), 0, 0);
} else {
TRACE_EVENT1("flutter", "PictureLayer::Paint", "image", "normal");
SkAutoCanvasRestore save(&context.canvas, true);
context.canvas.translate(offset_.x(), offset_.y());
context.canvas.drawPicture(picture_.get());
}
}