summaryrefslogtreecommitdiffstats
path: root/core/jni/android/graphics
diff options
context:
space:
mode:
authorMike Reed <reed@google.com>2009-09-24 12:35:27 -0400
committerMike Reed <reed@google.com>2009-09-24 12:35:27 -0400
commit17154417e8ad488d18d9133bf802f598e7506483 (patch)
treeebf82c4838a7abce43dbb08d3846e7bf58191998 /core/jni/android/graphics
parent7475be4bc239929aa49235e223807d5447674efd (diff)
downloadframeworks_base-17154417e8ad488d18d9133bf802f598e7506483.zip
frameworks_base-17154417e8ad488d18d9133bf802f598e7506483.tar.gz
frameworks_base-17154417e8ad488d18d9133bf802f598e7506483.tar.bz2
use new setDither on ImageRef to retain that setting for purgeable images
Diffstat (limited to 'core/jni/android/graphics')
-rw-r--r--core/jni/android/graphics/BitmapFactory.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/core/jni/android/graphics/BitmapFactory.cpp b/core/jni/android/graphics/BitmapFactory.cpp
index 0c84265..65f6845 100644
--- a/core/jni/android/graphics/BitmapFactory.cpp
+++ b/core/jni/android/graphics/BitmapFactory.cpp
@@ -314,14 +314,15 @@ static jobject nullObjectReturn(const char msg[]) {
}
static SkPixelRef* installPixelRef(SkBitmap* bitmap, SkStream* stream,
- int sampleSize) {
- SkPixelRef* pr;
+ int sampleSize, bool ditherImage) {
+ SkImageRef* pr;
// only use ashmem for large images, since mmaps come at a price
if (bitmap->getSize() >= 32 * 1024) {
pr = new SkImageRef_ashmem(stream, bitmap->config(), sampleSize);
} else {
pr = new SkImageRef_GlobalPool(stream, bitmap->config(), sampleSize);
}
+ pr->setDitherImage(ditherImage);
bitmap->setPixelRef(pr)->unref();
return pr;
}
@@ -440,7 +441,7 @@ static jobject doDecode(JNIEnv* env, SkStream* stream, jobject padding,
SkPixelRef* pr;
if (isPurgeable) {
- pr = installPixelRef(bitmap, stream, sampleSize);
+ pr = installPixelRef(bitmap, stream, sampleSize, doDither);
} else {
// if we get here, we're in kDecodePixels_Mode and will therefore
// already have a pixelref installed.