diff options
author | Romain Guy <romainguy@google.com> | 2012-07-11 17:44:57 -0700 |
---|---|---|
committer | Romain Guy <romainguy@google.com> | 2012-07-11 17:44:57 -0700 |
commit | 846a533945576e5cb1a66529ca3a52d71749f04f (patch) | |
tree | 5f122ddffce0038a2b885851249cb8a9bb51ca6c /core/jni | |
parent | 053a82cc18b8ad9b6cb321b57893225411ccf146 (diff) | |
download | frameworks_base-846a533945576e5cb1a66529ca3a52d71749f04f.zip frameworks_base-846a533945576e5cb1a66529ca3a52d71749f04f.tar.gz frameworks_base-846a533945576e5cb1a66529ca3a52d71749f04f.tar.bz2 |
Update layers' opaque property when needed
Before this change, changing a View's opacity would not be reflected
by hardware layers. This could cause layers to retain their previous
opacity.
Change-Id: Iba2c8b4242deca021651df9324cc7c585a64653d
Diffstat (limited to 'core/jni')
-rw-r--r-- | core/jni/android_view_GLES20Canvas.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/core/jni/android_view_GLES20Canvas.cpp b/core/jni/android_view_GLES20Canvas.cpp index a51b77e..3a05103 100644 --- a/core/jni/android_view_GLES20Canvas.cpp +++ b/core/jni/android_view_GLES20Canvas.cpp @@ -769,6 +769,13 @@ static void android_view_GLES20Canvas_resizeLayer(JNIEnv* env, jobject clazz, env->ReleaseIntArrayElements(layerInfo, storage, 0); } +static void android_view_GLES20Canvas_setOpaqueLayer(JNIEnv* env, jobject clazz, + Layer* layer, jboolean isOpaque) { + if (layer) { + layer->setBlend(!isOpaque); + } +} + static void android_view_GLES20Canvas_updateTextureLayer(JNIEnv* env, jobject clazz, Layer* layer, jint width, jint height, jboolean isOpaque, jobject surface) { float transform[16]; @@ -969,6 +976,7 @@ static JNINativeMethod gMethods[] = { { "nCreateLayerRenderer", "(I)I", (void*) android_view_GLES20Canvas_createLayerRenderer }, { "nCreateLayer", "(IIZ[I)I", (void*) android_view_GLES20Canvas_createLayer }, { "nResizeLayer", "(III[I)V" , (void*) android_view_GLES20Canvas_resizeLayer }, + { "nSetOpaqueLayer", "(IZ)V", (void*) android_view_GLES20Canvas_setOpaqueLayer }, { "nCreateTextureLayer", "(Z[I)I", (void*) android_view_GLES20Canvas_createTextureLayer }, { "nUpdateTextureLayer", "(IIIZLandroid/graphics/SurfaceTexture;)V", (void*) android_view_GLES20Canvas_updateTextureLayer }, |