summaryrefslogtreecommitdiffstats
path: root/core/jni/android/graphics
diff options
context:
space:
mode:
authorMike Reed <reed@google.com>2009-10-07 11:38:05 -0700
committerMike Reed <reed@google.com>2009-10-07 11:38:05 -0700
commita78b0a2d9ebb38b86ed802b3d86de07d0b301262 (patch)
tree5e4e7e0e5045af26ebf82a07bdd9d7a0d47ee8df /core/jni/android/graphics
parent4625758d0b909ccfc9f40b707666b1b21e9e8ffd (diff)
downloadframeworks_base-a78b0a2d9ebb38b86ed802b3d86de07d0b301262.zip
frameworks_base-a78b0a2d9ebb38b86ed802b3d86de07d0b301262.tar.gz
frameworks_base-a78b0a2d9ebb38b86ed802b3d86de07d0b301262.tar.bz2
add (hidden) setHasAlpha() to allow clients like the view's cache to hint that a bitmap is opaque.
Knowing that a 32bit bitmap is opaque is a performance boost for some blits.
Diffstat (limited to 'core/jni/android/graphics')
-rw-r--r--core/jni/android/graphics/Bitmap.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/core/jni/android/graphics/Bitmap.cpp b/core/jni/android/graphics/Bitmap.cpp
index 8d52917..0f1b845 100644
--- a/core/jni/android/graphics/Bitmap.cpp
+++ b/core/jni/android/graphics/Bitmap.cpp
@@ -317,6 +317,11 @@ static jboolean Bitmap_hasAlpha(JNIEnv* env, jobject, SkBitmap* bitmap) {
return !bitmap->isOpaque();
}
+static void Bitmap_setHasAlpha(JNIEnv* env, jobject, SkBitmap* bitmap,
+ jboolean hasAlpha) {
+ bitmap->setIsOpaque(!hasAlpha);
+}
+
///////////////////////////////////////////////////////////////////////////////
static jobject Bitmap_createFromParcel(JNIEnv* env, jobject, jobject parcel) {
@@ -546,6 +551,7 @@ static JNINativeMethod gBitmapMethods[] = {
{ "nativeRowBytes", "(I)I", (void*)Bitmap_rowBytes },
{ "nativeConfig", "(I)I", (void*)Bitmap_config },
{ "nativeHasAlpha", "(I)Z", (void*)Bitmap_hasAlpha },
+ { "nativeSetHasAlpha", "(IZ)V", (void*)Bitmap_setHasAlpha },
{ "nativeCreateFromParcel",
"(Landroid/os/Parcel;)Landroid/graphics/Bitmap;",
(void*)Bitmap_createFromParcel },