summaryrefslogtreecommitdiffstats
path: root/core/jni
diff options
context:
space:
mode:
authorMike Reed <reed@google.com>2010-01-26 12:20:43 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2010-01-26 12:20:43 -0800
commit148fea03caed2a082387c45ae12a91561b8e41e5 (patch)
tree3060ce89cc6e2d04bb7271f6db249fa0f3ffab9a /core/jni
parent017091669a5af2dd3d0a457f05f153f4d31848b6 (diff)
parentab4a0c164b5a44d5bfd37069cfe499db31e7620c (diff)
downloadframeworks_base-148fea03caed2a082387c45ae12a91561b8e41e5.zip
frameworks_base-148fea03caed2a082387c45ae12a91561b8e41e5.tar.gz
frameworks_base-148fea03caed2a082387c45ae12a91561b8e41e5.tar.bz2
Merge "add API to change default config on image decoders."
Diffstat (limited to 'core/jni')
-rw-r--r--core/jni/android/graphics/BitmapFactory.cpp20
1 files changed, 19 insertions, 1 deletions
diff --git a/core/jni/android/graphics/BitmapFactory.cpp b/core/jni/android/graphics/BitmapFactory.cpp
index 65f6845..9965fe5 100644
--- a/core/jni/android/graphics/BitmapFactory.cpp
+++ b/core/jni/android/graphics/BitmapFactory.cpp
@@ -645,6 +645,23 @@ static jbyteArray nativeScaleNinePatch(JNIEnv* env, jobject, jbyteArray chunkObj
return chunkObject;
}
+static void nativeSetDefaultConfig(JNIEnv* env, jobject, int nativeConfig) {
+ SkBitmap::Config config = static_cast<SkBitmap::Config>(nativeConfig);
+
+ // these are the only default configs that make sense for codecs right now
+ static const SkBitmap::Config gValidDefConfig[] = {
+ SkBitmap::kRGB_565_Config,
+ SkBitmap::kARGB_8888_Config,
+ };
+
+ for (size_t i = 0; i < SK_ARRAY_COUNT(gValidDefConfig); i++) {
+ if (config == gValidDefConfig[i]) {
+ SkImageDecoder::SetDeviceConfig(config);
+ break;
+ }
+ }
+}
+
///////////////////////////////////////////////////////////////////////////////
static JNINativeMethod gMethods[] = {
@@ -671,8 +688,9 @@ static JNINativeMethod gMethods[] = {
{ "nativeScaleNinePatch",
"([BFLandroid/graphics/Rect;)[B",
(void*)nativeScaleNinePatch
- }
+ },
+ { "nativeSetDefaultConfig", "(I)V", (void*)nativeSetDefaultConfig },
};
static JNINativeMethod gOptionsMethods[] = {