diff options
author | 2015-05-05 05:42:02 -0700 | |
---|---|---|
committer | 2015-05-05 05:42:02 -0700 | |
commit | 119468b71f8f4f45657ab30ead331be665de5a57 (patch) | |
tree | f55c49340b7e3d65dc488500bc02bca88b3dd76e /src/core | |
parent | 99bc9fdfb555f1cf8e426329633e735e3020b829 (diff) |
Revert of Make drawImage a virtual on SkDevice (patchset #3 id:40001 of https://codereview.chromium.org/11188… (patchset #2 id:20001 of https://codereview.chromium.org/1122813002/)
Reason for revert:
did not update DeferredCanvas
Original issue's description:
> Make drawImage a virtual on SkDevice (patchset #3 id:40001 of https://codereview.chromium.org/1118823004/)"
>
> Fixed serialization from prev CL
>
> This reverts commit 973d1f1f60f2710a268a3165aa4f3460502d4be5.
>
> BUG=skia:3803
> TBR=
>
> Committed: https://skia.googlesource.com/skia/+/5392785080001fe737fac9e5801fc2127a78d4fb
TBR=
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:3803
Review URL: https://codereview.chromium.org/1123743006
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/SkCanvas.cpp | 56 | ||||
-rw-r--r-- | src/core/SkDevice.cpp | 20 | ||||
-rw-r--r-- | src/core/SkPictureRecord.cpp | 17 | ||||
-rw-r--r-- | src/core/SkPictureRecord.h | 3 |
4 files changed, 8 insertions, 88 deletions
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp index 34d6aaa0ab..3e3f714880 100644 --- a/src/core/SkCanvas.cpp +++ b/src/core/SkCanvas.cpp @@ -1734,15 +1734,12 @@ void SkCanvas::drawPath(const SkPath& path, const SkPaint& paint) { this->onDrawPath(path, paint); } -void SkCanvas::drawImage(const SkImage* image, SkScalar x, SkScalar y, const SkPaint* paint) { - this->onDrawImage(image, x, y, paint); +void SkCanvas::drawImage(const SkImage* image, SkScalar dx, SkScalar dy, const SkPaint* paint) { + this->onDrawImage(image, dx, dy, paint); } void SkCanvas::drawImageRect(const SkImage* image, const SkRect* src, const SkRect& dst, const SkPaint* paint) { - if (dst.isEmpty()) { - return; - } this->onDrawImageRect(image, src, dst, paint); } @@ -1962,58 +1959,15 @@ void SkCanvas::onDrawPath(const SkPath& path, const SkPaint& paint) { LOOPER_END } -void SkCanvas::onDrawImage(const SkImage* image, SkScalar x, SkScalar y, const SkPaint* paint) { +void SkCanvas::onDrawImage(const SkImage* image, SkScalar dx, SkScalar dy, const SkPaint* paint) { TRACE_EVENT0("disabled-by-default-skia", "SkCanvas::drawImage()"); - SkRect bounds = SkRect::MakeXYWH(x, y, - SkIntToScalar(image->width()), SkIntToScalar(image->height())); - if (NULL == paint || paint->canComputeFastBounds()) { - if (paint) { - paint->computeFastBounds(bounds, &bounds); - } - if (this->quickReject(bounds)) { - return; - } - } - - SkLazyPaint lazy; - if (NULL == paint) { - paint = lazy.init(); - } - - LOOPER_BEGIN(*paint, SkDrawFilter::kBitmap_Type, &bounds) - - while (iter.next()) { - iter.fDevice->drawImage(iter, image, x, y, looper.paint()); - } - - LOOPER_END + image->draw(this, dx, dy, paint); } void SkCanvas::onDrawImageRect(const SkImage* image, const SkRect* src, const SkRect& dst, const SkPaint* paint) { TRACE_EVENT0("disabled-by-default-skia", "SkCanvas::drawImageRect()"); - SkRect storage; - const SkRect* bounds = &dst; - if (NULL == paint || paint->canComputeFastBounds()) { - if (paint) { - bounds = &paint->computeFastBounds(dst, &storage); - } - if (this->quickReject(*bounds)) { - return; - } - } - SkLazyPaint lazy; - if (NULL == paint) { - paint = lazy.init(); - } - - LOOPER_BEGIN(*paint, SkDrawFilter::kBitmap_Type, bounds) - - while (iter.next()) { - iter.fDevice->drawImageRect(iter, image, src, dst, looper.paint()); - } - - LOOPER_END + image->drawRect(this, src, dst, paint); } void SkCanvas::onDrawBitmap(const SkBitmap& bitmap, SkScalar x, SkScalar y, const SkPaint* paint) { diff --git a/src/core/SkDevice.cpp b/src/core/SkDevice.cpp index 9a43fd0e32..6be9178f23 100644 --- a/src/core/SkDevice.cpp +++ b/src/core/SkDevice.cpp @@ -165,26 +165,6 @@ void SkBaseDevice::drawTextBlob(const SkDraw& draw, const SkTextBlob* blob, SkSc } } -#include "SkImage_Base.h" - -void SkBaseDevice::drawImage(const SkDraw& draw, const SkImage* image, SkScalar x, SkScalar y, - const SkPaint& paint) { - // Default impl : turns everything into raster bitmap - SkBitmap bm; - if (as_IB(image)->getROPixels(&bm)) { - this->drawBitmap(draw, bm, SkMatrix::MakeTrans(x, y), paint); - } -} - -void SkBaseDevice::drawImageRect(const SkDraw& draw, const SkImage* image, const SkRect* src, - const SkRect& dst, const SkPaint& paint) { - // Default impl : turns everything into raster bitmap - SkBitmap bm; - if (as_IB(image)->getROPixels(&bm)) { - this->drawBitmapRect(draw, bm, src, dst, paint, SkCanvas::DrawBitmapRectFlags(0)); - } -} - bool SkBaseDevice::readPixels(const SkImageInfo& info, void* dstP, size_t rowBytes, int x, int y) { #ifdef SK_DEBUG SkASSERT(info.width() > 0 && info.height() > 0); diff --git a/src/core/SkPictureRecord.cpp b/src/core/SkPictureRecord.cpp index c92ee02dbd..53ecdd0be6 100644 --- a/src/core/SkPictureRecord.cpp +++ b/src/core/SkPictureRecord.cpp @@ -7,7 +7,6 @@ #include "SkPictureRecord.h" #include "SkDevice.h" -#include "SkImage_Base.h" #include "SkPatchUtils.h" #include "SkPixelRef.h" #include "SkRRect.h" @@ -564,22 +563,6 @@ void SkPictureRecord::onDrawBitmapRect(const SkBitmap& bitmap, const SkRect* src this->validate(initialOffset, size); } -void SkPictureRecord::onDrawImage(const SkImage* image, SkScalar x, SkScalar y, - const SkPaint* paint) { - SkBitmap bm; - if (as_IB(image)->getROPixels(&bm)) { - this->SkPictureRecord::onDrawBitmap(bm, x, y, paint); - } -} - -void SkPictureRecord::onDrawImageRect(const SkImage* image, const SkRect* src, const SkRect& dst, - const SkPaint* paint) { - SkBitmap bm; - if (as_IB(image)->getROPixels(&bm)) { - this->SkPictureRecord::onDrawBitmapRect(bm, src, dst, paint, DrawBitmapRectFlags(0)); - } -} - void SkPictureRecord::onDrawBitmapNine(const SkBitmap& bitmap, const SkIRect& center, const SkRect& dst, const SkPaint* paint) { // op + paint index + bitmap id + center + dst rect diff --git a/src/core/SkPictureRecord.h b/src/core/SkPictureRecord.h index 7a6fc813a5..5e2d5a10e4 100644 --- a/src/core/SkPictureRecord.h +++ b/src/core/SkPictureRecord.h @@ -184,9 +184,12 @@ protected: void onDrawBitmap(const SkBitmap&, SkScalar left, SkScalar top, const SkPaint*) override; void onDrawBitmapRect(const SkBitmap&, const SkRect* src, const SkRect& dst, const SkPaint*, DrawBitmapRectFlags flags) override; +#if 0 + // rely on conversion to bitmap (for now) void onDrawImage(const SkImage*, SkScalar left, SkScalar top, const SkPaint*) override; void onDrawImageRect(const SkImage*, const SkRect* src, const SkRect& dst, const SkPaint*) override; +#endif void onDrawBitmapNine(const SkBitmap&, const SkIRect& center, const SkRect& dst, const SkPaint*) override; void onDrawSprite(const SkBitmap&, int left, int top, const SkPaint*) override; |