diff options
author | Mike Reed <reed@google.com> | 2009-09-24 12:35:27 -0400 |
---|---|---|
committer | Mike Reed <reed@google.com> | 2009-09-24 12:35:27 -0400 |
commit | 17154417e8ad488d18d9133bf802f598e7506483 (patch) | |
tree | ebf82c4838a7abce43dbb08d3846e7bf58191998 /core/jni/android/graphics | |
parent | 7475be4bc239929aa49235e223807d5447674efd (diff) | |
download | frameworks_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.cpp | 7 |
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. |