summaryrefslogtreecommitdiffstats
path: root/core/jni
diff options
context:
space:
mode:
authorChet Haase <chet@google.com>2013-04-19 14:54:34 -0700
committerChet Haase <chet@google.com>2013-04-19 15:36:37 -0700
commitdd671599bed9d3ca28e2c744e8c224e1e15bc914 (patch)
treeaef0efadc853003d866f3d3d14621261f05d214c /core/jni
parent9b3ebb124eba3d9f80ae299e0cbcfcd9c0a8653d (diff)
downloadframeworks_base-dd671599bed9d3ca28e2c744e8c224e1e15bc914.zip
frameworks_base-dd671599bed9d3ca28e2c744e8c224e1e15bc914.tar.gz
frameworks_base-dd671599bed9d3ca28e2c744e8c224e1e15bc914.tar.bz2
Fix quickReject logic to account for setClipChildren() setting
The rendering code optimizes by rejecting drawing operations that lie outside of the bounds of their views. This works in most situations, but breaks down when containers have called setClipChildren(false), because we reject drawing that is outside of that container, but which should be drawn anyway. Fix is to pass in the value of that flag to the DisplayList drawing routines which take that flag into account when deciding whether to quickReject any particular operation. Issue #8659277 animation clipping Change-Id: Ief568e4db01b533a97b3c5ea5ad777c03c0eea71
Diffstat (limited to 'core/jni')
-rw-r--r--core/jni/android_view_GLES20DisplayList.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/core/jni/android_view_GLES20DisplayList.cpp b/core/jni/android_view_GLES20DisplayList.cpp
index f7a5302..4ce2e24 100644
--- a/core/jni/android_view_GLES20DisplayList.cpp
+++ b/core/jni/android_view_GLES20DisplayList.cpp
@@ -84,9 +84,9 @@ static void android_view_GLES20DisplayList_setAnimationMatrix(JNIEnv* env,
displayList->setAnimationMatrix(matrix);
}
-static void android_view_GLES20DisplayList_setClipChildren(JNIEnv* env,
- jobject clazz, DisplayList* displayList, jboolean clipChildren) {
- displayList->setClipChildren(clipChildren);
+static void android_view_GLES20DisplayList_setClipToBounds(JNIEnv* env,
+ jobject clazz, DisplayList* displayList, jboolean clipToBounds) {
+ displayList->setClipToBounds(clipToBounds);
}
static void android_view_GLES20DisplayList_setAlpha(JNIEnv* env,
@@ -308,7 +308,7 @@ static JNINativeMethod gMethods[] = {
{ "nSetCaching", "(IZ)V", (void*) android_view_GLES20DisplayList_setCaching },
{ "nSetStaticMatrix", "(II)V", (void*) android_view_GLES20DisplayList_setStaticMatrix },
{ "nSetAnimationMatrix", "(II)V", (void*) android_view_GLES20DisplayList_setAnimationMatrix },
- { "nSetClipChildren", "(IZ)V", (void*) android_view_GLES20DisplayList_setClipChildren },
+ { "nSetClipToBounds", "(IZ)V", (void*) android_view_GLES20DisplayList_setClipToBounds },
{ "nSetAlpha", "(IF)V", (void*) android_view_GLES20DisplayList_setAlpha },
{ "nSetHasOverlappingRendering", "(IZ)V",
(void*) android_view_GLES20DisplayList_setHasOverlappingRendering },