Make SkDevice::onReadPixels take a const& rather than const*
git-svn-id: http://skia.googlecode.com/svn/trunk@2587 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/include/core/SkDevice.h b/include/core/SkDevice.h
index 5d184e4..4dadfc4 100644
--- a/include/core/SkDevice.h
+++ b/include/core/SkDevice.h
@@ -275,9 +275,8 @@
* 2. bitmap has pixels.
* 3. The rectangle (x, y, x + bitmap->width(), y + bitmap->height()) is
* contained in the device bounds.
- * 4. the bitmap struct is safe to partially overwrite in case of failure
*/
- virtual bool onReadPixels(const SkBitmap* bitmap, int x, int y);
+ virtual bool onReadPixels(const SkBitmap& bitmap, int x, int y);
/** Called when this device is installed into a Canvas. Balanaced by a call
diff --git a/include/device/xps/SkXPSDevice.h b/include/device/xps/SkXPSDevice.h
index ed61ced..bac7f38 100644
--- a/include/device/xps/SkXPSDevice.h
+++ b/include/device/xps/SkXPSDevice.h
@@ -141,7 +141,7 @@
int x, int y,
const SkPaint& paint) SK_OVERRIDE;
- virtual bool onReadPixels(const SkBitmap* bitmap,
+ virtual bool onReadPixels(const SkBitmap& bitmap,
int x,
int y) SK_OVERRIDE {
return false;
diff --git a/include/gpu/SkGpuDevice.h b/include/gpu/SkGpuDevice.h
index 047fd07..d394d12 100644
--- a/include/gpu/SkGpuDevice.h
+++ b/include/gpu/SkGpuDevice.h
@@ -141,7 +141,7 @@
friend class SkAutoTexCache;
// overrides from SkDevice
- virtual bool onReadPixels(const SkBitmap* bitmap,
+ virtual bool onReadPixels(const SkBitmap& bitmap,
int x, int y) SK_OVERRIDE;
diff --git a/include/pdf/SkPDFDevice.h b/include/pdf/SkPDFDevice.h
index b25e39a..1e4db86 100644
--- a/include/pdf/SkPDFDevice.h
+++ b/include/pdf/SkPDFDevice.h
@@ -158,7 +158,7 @@
}
protected:
- virtual bool onReadPixels(const SkBitmap* bitmap,
+ virtual bool onReadPixels(const SkBitmap& bitmap,
int x, int y) SK_OVERRIDE {
return false;
}
diff --git a/src/core/SkDevice.cpp b/src/core/SkDevice.cpp
index f5523bd..4e2cd0a 100644
--- a/src/core/SkDevice.cpp
+++ b/src/core/SkDevice.cpp
@@ -135,20 +135,20 @@
SkBitmap bmpSubset;
bmp->extractSubset(&bmpSubset, subrect);
- bool result = this->onReadPixels(&bmpSubset, srcRect.fLeft, srcRect.fTop);
+ bool result = this->onReadPixels(bmpSubset, srcRect.fLeft, srcRect.fTop);
if (result && bmp == &tmp) {
tmp.swap(*bitmap);
}
return result;
}
-bool SkDevice::onReadPixels(const SkBitmap* bitmap, int x, int y) {
- SkASSERT(SkBitmap::kARGB_8888_Config == bitmap->config());
- SkASSERT(!bitmap->isNull());
- SkASSERT(SkIRect::MakeWH(this->width(), this->height()).contains(SkIRect::MakeXYWH(x, y, bitmap->width(), bitmap->height())));
+bool SkDevice::onReadPixels(const SkBitmap& bitmap, int x, int y) {
+ SkASSERT(SkBitmap::kARGB_8888_Config == bitmap.config());
+ SkASSERT(!bitmap.isNull());
+ SkASSERT(SkIRect::MakeWH(this->width(), this->height()).contains(SkIRect::MakeXYWH(x, y, bitmap.width(), bitmap.height())));
- SkIRect srcRect = SkIRect::MakeXYWH(x, y, bitmap->width(),
- bitmap->height());
+ SkIRect srcRect = SkIRect::MakeXYWH(x, y, bitmap.width(),
+ bitmap.height());
const SkBitmap& src = this->accessBitmap(false);
SkBitmap subset;
@@ -161,10 +161,10 @@
// or make copyTo lazily allocate.
subset.copyTo(&subset, SkBitmap::kARGB_8888_Config);
}
- SkAutoLockPixels alp(*bitmap);
- return subset.copyPixelsTo(bitmap->getPixels(),
- bitmap->getSize(),
- bitmap->rowBytes(),
+ SkAutoLockPixels alp(bitmap);
+ return subset.copyPixelsTo(bitmap.getPixels(),
+ bitmap.getSize(),
+ bitmap.rowBytes(),
true);
}
diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp
index 790cf6d..f145939 100644
--- a/src/gpu/SkGpuDevice.cpp
+++ b/src/gpu/SkGpuDevice.cpp
@@ -256,19 +256,19 @@
///////////////////////////////////////////////////////////////////////////////
-bool SkGpuDevice::onReadPixels(const SkBitmap* bitmap, int x, int y) {
- SkASSERT(SkBitmap::kARGB_8888_Config == bitmap->config());
- SkASSERT(!bitmap->isNull());
- SkASSERT(SkIRect::MakeWH(this->width(), this->height()).contains(SkIRect::MakeXYWH(x, y, bitmap->width(), bitmap->height())));
+bool SkGpuDevice::onReadPixels(const SkBitmap& bitmap, int x, int y) {
+ SkASSERT(SkBitmap::kARGB_8888_Config == bitmap.config());
+ SkASSERT(!bitmap.isNull());
+ SkASSERT(SkIRect::MakeWH(this->width(), this->height()).contains(SkIRect::MakeXYWH(x, y, bitmap.width(), bitmap.height())));
- SkAutoLockPixels alp(*bitmap);
+ SkAutoLockPixels alp(bitmap);
return fContext->readRenderTargetPixels(fRenderTarget,
x, y,
- bitmap->width(),
- bitmap->height(),
+ bitmap.width(),
+ bitmap.height(),
kRGBA_8888_GrPixelConfig,
- bitmap->getPixels(),
- bitmap->rowBytes());
+ bitmap.getPixels(),
+ bitmap.rowBytes());
}
void SkGpuDevice::writePixels(const SkBitmap& bitmap, int x, int y) {