deprecate odd variants of SkCanvas::readPixels
Bug: skia:6513
Change-Id: I51179a85f0912d3f899c368c30a943d346dd1d05
Reviewed-on: https://skia-review.googlesource.com/13589
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Reed <reed@google.com>
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp
index f8e427c..1b96f49 100644
--- a/src/core/SkCanvas.cpp
+++ b/src/core/SkCanvas.cpp
@@ -831,6 +831,7 @@
return fMCRec->fTopLayer->fDevice;
}
+#ifdef SK_SUPPORT_LEGACY_CANVAS_READPIXELS
bool SkCanvas::readPixels(SkBitmap* bitmap, int x, int y) {
bool weAllocated = false;
if (nullptr == bitmap->pixelRef()) {
@@ -872,6 +873,7 @@
}
return true;
}
+#endif
bool SkCanvas::readPixels(const SkImageInfo& dstInfo, void* dstP, size_t rowBytes, int x, int y) {
SkBaseDevice* device = this->getDevice();
@@ -882,6 +884,15 @@
return device->readPixels(dstInfo, dstP, rowBytes, x, y);
}
+bool SkCanvas::readPixels(const SkPixmap& pm, int x, int y) {
+ return pm.addr() && this->readPixels(pm.info(), pm.writable_addr(), pm.rowBytes(), x, y);
+}
+
+bool SkCanvas::readPixels(const SkBitmap& bm, int x, int y) {
+ SkPixmap pm;
+ return bm.peekPixels(&pm) && this->readPixels(pm, x, y);
+}
+
bool SkCanvas::writePixels(const SkBitmap& bitmap, int x, int y) {
SkAutoPixmapUnlock unlocker;
if (bitmap.requestLock(&unlocker)) {