Index: src/core/SkPicturePlayback.cpp |
diff --git a/src/core/SkPicturePlayback.cpp b/src/core/SkPicturePlayback.cpp |
index c3f24b95e1f801566973888b460b3056ba88baa1..7a7c9c0716a157efd31d9fbfc0c366d0be360c6d 100644 |
--- a/src/core/SkPicturePlayback.cpp |
+++ b/src/core/SkPicturePlayback.cpp |
@@ -902,7 +902,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::MakeFromIRect(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()) { |