Index: src/core/SkPicturePlayback.cpp |
diff --git a/src/core/SkPicturePlayback.cpp b/src/core/SkPicturePlayback.cpp |
index 148237a5a8ffee471e96158f2f5356f518b0e3cd..21658f72307c164577ecc831f4b43e128c27c97c 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()) { |