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:
@@ -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.
|
||||||
|
|||||||
Reference in New Issue
Block a user