aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core
diff options
context:
space:
mode:
authorGravatar reed <reed@google.com>2015-05-05 05:42:02 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-05-05 05:42:02 -0700
commit119468b71f8f4f45657ab30ead331be665de5a57 (patch)
treef55c49340b7e3d65dc488500bc02bca88b3dd76e /src/core
parent99bc9fdfb555f1cf8e426329633e735e3020b829 (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.cpp56
-rw-r--r--src/core/SkDevice.cpp20
-rw-r--r--src/core/SkPictureRecord.cpp17
-rw-r--r--src/core/SkPictureRecord.h3
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;