Make SkDevice::onReadPixels take a const& rather than const*
git-svn-id: http://skia.googlecode.com/svn/trunk@2587 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
parent
c69809745e
commit
910267dde2
@ -275,9 +275,8 @@ protected:
|
||||
* 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
|
||||
|
@ -141,7 +141,7 @@ protected:
|
||||
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;
|
||||
|
@ -141,7 +141,7 @@ protected:
|
||||
friend class SkAutoTexCache;
|
||||
|
||||
// overrides from SkDevice
|
||||
virtual bool onReadPixels(const SkBitmap* bitmap,
|
||||
virtual bool onReadPixels(const SkBitmap& bitmap,
|
||||
int x, int y) SK_OVERRIDE;
|
||||
|
||||
|
||||
|
@ -158,7 +158,7 @@ public:
|
||||
}
|
||||
|
||||
protected:
|
||||
virtual bool onReadPixels(const SkBitmap* bitmap,
|
||||
virtual bool onReadPixels(const SkBitmap& bitmap,
|
||||
int x, int y) SK_OVERRIDE {
|
||||
return false;
|
||||
}
|
||||
|
@ -135,20 +135,20 @@ bool SkDevice::readPixels(SkBitmap* bitmap, int x, int y) {
|
||||
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 @@ bool SkDevice::onReadPixels(const SkBitmap* bitmap, int x, int y) {
|
||||
// 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);
|
||||
}
|
||||
|
||||
|
@ -256,19 +256,19 @@ void SkGpuDevice::makeRenderTargetCurrent() {
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
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) {
|
||||
|
Loading…
Reference in New Issue
Block a user