aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Matt Sarett <msarett@google.com>2017-01-10 09:29:04 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-01-10 16:25:08 +0000
commite2609594466336305bedfa61f98510d127a8ec85 (patch)
tree00411b13d91295019f1eab20a1e97c21435cc8d8 /src
parent0ab977f2314d0b5ec0067fb5d6ececc21de6d2ab (diff)
Make SkImage_Base::onReadPixels() pure virtual
BUG=skia: Change-Id: I52504b21313717bf8321ec3f1df770773703a1a1 Reviewed-on: https://skia-review.googlesource.com/6831 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
Diffstat (limited to 'src')
-rw-r--r--src/image/SkImage.cpp31
-rw-r--r--src/image/SkImage_Base.h3
2 files changed, 1 insertions, 33 deletions
diff --git a/src/image/SkImage.cpp b/src/image/SkImage.cpp
index 66301341d3..417a29a1ed 100644
--- a/src/image/SkImage.cpp
+++ b/src/image/SkImage.cpp
@@ -200,20 +200,6 @@ GrBackendObject SkImage::getTextureHandle(bool) const { return 0; }
///////////////////////////////////////////////////////////////////////////////
-static bool raster_canvas_supports(const SkImageInfo& info) {
- switch (info.colorType()) {
- case kN32_SkColorType:
- return kUnpremul_SkAlphaType != info.alphaType();
- case kRGB_565_SkColorType:
- return true;
- case kAlpha_8_SkColorType:
- return true;
- default:
- break;
- }
- return false;
-}
-
SkImage_Base::SkImage_Base(int width, int height, uint32_t uniqueID)
: INHERITED(width, height, uniqueID)
, fAddedToCache(false)
@@ -225,23 +211,6 @@ SkImage_Base::~SkImage_Base() {
}
}
-bool SkImage_Base::onReadPixels(const SkImageInfo& dstInfo, void* dstPixels, size_t dstRowBytes,
- int srcX, int srcY, CachingHint) const {
- if (!raster_canvas_supports(dstInfo)) {
- return false;
- }
-
- SkBitmap bm;
- bm.installPixels(dstInfo, dstPixels, dstRowBytes);
- SkCanvas canvas(bm);
-
- SkPaint paint;
- paint.setBlendMode(SkBlendMode::kSrc);
- canvas.drawImage(this, -SkIntToScalar(srcX), -SkIntToScalar(srcY), &paint);
-
- return true;
-}
-
///////////////////////////////////////////////////////////////////////////////////////////////////
bool SkImage::readPixels(const SkPixmap& pmap, int srcX, int srcY, CachingHint chint) const {
diff --git a/src/image/SkImage_Base.h b/src/image/SkImage_Base.h
index ebb38d4731..e839a05cd2 100644
--- a/src/image/SkImage_Base.h
+++ b/src/image/SkImage_Base.h
@@ -40,9 +40,8 @@ public:
virtual const SkBitmap* onPeekBitmap() const { return nullptr; }
- // Default impl calls onDraw
virtual bool onReadPixels(const SkImageInfo& dstInfo, void* dstPixels, size_t dstRowBytes,
- int srcX, int srcY, CachingHint) const;
+ int srcX, int srcY, CachingHint) const = 0;
virtual GrTexture* peekTexture() const { return nullptr; }
#if SK_SUPPORT_GPU