am 9251c344: Merge change 26851 into eclair

Merge commit '9251c344596847c4cd4cf5782fde078459fa4cea' into eclair-plus-aosp

* commit '9251c344596847c4cd4cf5782fde078459fa4cea':
  use new setDither on ImageRef to retain that setting for purgeable images
This commit is contained in:
Mike Reed
2009-09-24 09:45:55 -07:00
committed by Android Git Automerger

View File

@@ -314,14 +314,15 @@ static jobject nullObjectReturn(const char msg[]) {
} }
static SkPixelRef* installPixelRef(SkBitmap* bitmap, SkStream* stream, static SkPixelRef* installPixelRef(SkBitmap* bitmap, SkStream* stream,
int sampleSize) { int sampleSize, bool ditherImage) {
SkPixelRef* pr; SkImageRef* pr;
// only use ashmem for large images, since mmaps come at a price // only use ashmem for large images, since mmaps come at a price
if (bitmap->getSize() >= 32 * 1024) { if (bitmap->getSize() >= 32 * 1024) {
pr = new SkImageRef_ashmem(stream, bitmap->config(), sampleSize); pr = new SkImageRef_ashmem(stream, bitmap->config(), sampleSize);
} else { } else {
pr = new SkImageRef_GlobalPool(stream, bitmap->config(), sampleSize); pr = new SkImageRef_GlobalPool(stream, bitmap->config(), sampleSize);
} }
pr->setDitherImage(ditherImage);
bitmap->setPixelRef(pr)->unref(); bitmap->setPixelRef(pr)->unref();
return pr; return pr;
} }
@@ -440,7 +441,7 @@ static jobject doDecode(JNIEnv* env, SkStream* stream, jobject padding,
SkPixelRef* pr; SkPixelRef* pr;
if (isPurgeable) { if (isPurgeable) {
pr = installPixelRef(bitmap, stream, sampleSize); pr = installPixelRef(bitmap, stream, sampleSize, doDither);
} else { } else {
// if we get here, we're in kDecodePixels_Mode and will therefore // if we get here, we're in kDecodePixels_Mode and will therefore
// already have a pixelref installed. // already have a pixelref installed.