diff options
Diffstat (limited to 'src/core/SkPicturePlayback.cpp')
-rw-r--r-- | src/core/SkPicturePlayback.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/core/SkPicturePlayback.cpp b/src/core/SkPicturePlayback.cpp index 148237a5a8..21658f7230 100644 --- a/src/core/SkPicturePlayback.cpp +++ b/src/core/SkPicturePlayback.cpp @@ -929,7 +929,11 @@ void SkPicturePlayback::draw(SkCanvas& canvas, SkDrawPictureCallback* callback) SkASSERT(NULL != temp->fPaint); canvas.save(); canvas.setMatrix(initialMatrix); - canvas.drawBitmap(*temp->fBM, temp->fPos.fX, temp->fPos.fY, temp->fPaint); + SkRect src = SkRect::Make(temp->fSrcRect); + SkRect dst = SkRect::MakeXYWH(temp->fPos.fX, temp->fPos.fY, + temp->fSrcRect.width(), + temp->fSrcRect.height()); + canvas.drawBitmapRectToRect(*temp->fBM, &src, dst, temp->fPaint); canvas.restore(); if (it.isValid()) { |