| Index: src/core/SkCanvas.cpp
|
| diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp
|
| index 88dddf412a7ae663c1e34d343a8ddd953f8ca1dc..3880fa9d733f1cd843a67829ca7099b63d585d87 100644
|
| --- a/src/core/SkCanvas.cpp
|
| +++ b/src/core/SkCanvas.cpp
|
| @@ -2257,10 +2257,8 @@ void SkCanvas::onDrawImage(const SkImage* image, SkScalar x, SkScalar y, const S
|
| void SkCanvas::onDrawImageRect(const SkImage* image, const SkRect* src, const SkRect& dst,
|
| const SkPaint* paint, SrcRectConstraint constraint) {
|
| TRACE_EVENT0("disabled-by-default-skia", "SkCanvas::drawImageRect()");
|
| - SkRect storage;
|
| - const SkRect* bounds = &dst;
|
| if (nullptr == paint || paint->canComputeFastBounds()) {
|
| - storage = dst;
|
| + SkRect storage = dst;
|
| if (paint) {
|
| paint->computeFastBounds(dst, &storage);
|
| }
|
| @@ -2273,7 +2271,7 @@ void SkCanvas::onDrawImageRect(const SkImage* image, const SkRect* src, const Sk
|
| paint = lazy.init();
|
| }
|
|
|
| - LOOPER_BEGIN_CHECK_COMPLETE_OVERWRITE(*paint, SkDrawFilter::kBitmap_Type, bounds,
|
| + LOOPER_BEGIN_CHECK_COMPLETE_OVERWRITE(*paint, SkDrawFilter::kBitmap_Type, &dst,
|
| image->isOpaque())
|
|
|
| while (iter.next()) {
|
| @@ -2338,9 +2336,8 @@ void SkCanvas::internalDrawBitmapRect(const SkBitmap& bitmap, const SkRect* src,
|
| return;
|
| }
|
|
|
| - SkRect storage;
|
| - const SkRect* bounds = &dst;
|
| if (nullptr == paint || paint->canComputeFastBounds()) {
|
| + SkRect storage;
|
| if (this->quickReject(paint ? paint->computeFastBounds(dst, &storage) : dst)) {
|
| return;
|
| }
|
| @@ -2351,7 +2348,7 @@ void SkCanvas::internalDrawBitmapRect(const SkBitmap& bitmap, const SkRect* src,
|
| paint = lazy.init();
|
| }
|
|
|
| - LOOPER_BEGIN_CHECK_COMPLETE_OVERWRITE(*paint, SkDrawFilter::kBitmap_Type, bounds,
|
| + LOOPER_BEGIN_CHECK_COMPLETE_OVERWRITE(*paint, SkDrawFilter::kBitmap_Type, &dst,
|
| bitmap.isOpaque())
|
|
|
| while (iter.next()) {
|
| @@ -2372,9 +2369,8 @@ void SkCanvas::onDrawImageNine(const SkImage* image, const SkIRect& center, cons
|
| const SkPaint* paint) {
|
| TRACE_EVENT0("disabled-by-default-skia", "SkCanvas::drawImageNine()");
|
|
|
| - SkRect storage;
|
| - const SkRect* bounds = &dst;
|
| if (nullptr == paint || paint->canComputeFastBounds()) {
|
| + SkRect storage;
|
| if (this->quickReject(paint ? paint->computeFastBounds(dst, &storage) : dst)) {
|
| return;
|
| }
|
| @@ -2385,7 +2381,7 @@ void SkCanvas::onDrawImageNine(const SkImage* image, const SkIRect& center, cons
|
| paint = lazy.init();
|
| }
|
|
|
| - LOOPER_BEGIN(*paint, SkDrawFilter::kBitmap_Type, bounds)
|
| + LOOPER_BEGIN(*paint, SkDrawFilter::kBitmap_Type, &dst)
|
|
|
| while (iter.next()) {
|
| iter.fDevice->drawImageNine(iter, image, center, dst, looper.paint());
|
| @@ -2399,9 +2395,8 @@ void SkCanvas::onDrawBitmapNine(const SkBitmap& bitmap, const SkIRect& center, c
|
| TRACE_EVENT0("disabled-by-default-skia", "SkCanvas::drawBitmapNine()");
|
| SkDEBUGCODE(bitmap.validate();)
|
|
|
| - SkRect storage;
|
| - const SkRect* bounds = &dst;
|
| if (nullptr == paint || paint->canComputeFastBounds()) {
|
| + SkRect storage;
|
| if (this->quickReject(paint ? paint->computeFastBounds(dst, &storage) : dst)) {
|
| return;
|
| }
|
| @@ -2412,7 +2407,7 @@ void SkCanvas::onDrawBitmapNine(const SkBitmap& bitmap, const SkIRect& center, c
|
| paint = lazy.init();
|
| }
|
|
|
| - LOOPER_BEGIN(*paint, SkDrawFilter::kBitmap_Type, bounds)
|
| + LOOPER_BEGIN(*paint, SkDrawFilter::kBitmap_Type, &dst)
|
|
|
| while (iter.next()) {
|
| iter.fDevice->drawBitmapNine(iter, bitmap, center, dst, looper.paint());
|
|
|