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)) {