Index: src/core/SkBitmapDevice.cpp |
diff --git a/src/core/SkBitmapDevice.cpp b/src/core/SkBitmapDevice.cpp |
index 119a434cc9cde8a5077a18702ba2394e67a183f8..0215ab7642b7f6b23d2aca1401dc12947ad17e10 100644 |
--- a/src/core/SkBitmapDevice.cpp |
+++ b/src/core/SkBitmapDevice.cpp |
@@ -302,8 +302,13 @@ void SkBitmapDevice::drawBitmapRect(const SkDraw& draw, const SkBitmap& bitmap, |
matrix.preTranslate(dx, dy); |
} |
- SkRect extractedBitmapBounds; |
- extractedBitmapBounds.isetWH(bitmapPtr->width(), bitmapPtr->height()); |
+#ifdef SK_DRAWBITMAPRECT_FAST_OFFSET |
+ SkRect extractedBitmapBounds = SkRect::MakeXYWH(dx, dy, |
+ SkIntToScalar(bitmapPtr->width()), |
+ SkIntToScalar(bitmapPtr->height())); |
+#else |
+ SkRect extractedBitmapBounds = SkRect::MakeIWH(bitmapPtr->width(), bitmapPtr->height()); |
caryclark
2017/04/05 16:59:47
Can you change this back to
SkRect extractedBitma
|
+#endif |
if (extractedBitmapBounds == tmpSrc) { |
// no fractional part in src, we can just call drawBitmap |
goto USE_DRAWBITMAP; |