Loading core/java/android/view/GLRenderer.java +5 −0 Original line number Diff line number Diff line Loading @@ -653,6 +653,11 @@ public class GLRenderer extends HardwareRenderer { loadSystemProperties(); } @Override void setOpaque(boolean opaque) { // Not supported } @Override boolean loadSystemProperties() { boolean value; Loading core/java/android/view/HardwareRenderer.java +5 −0 Original line number Diff line number Diff line Loading @@ -490,6 +490,11 @@ public abstract class HardwareRenderer { */ abstract void setName(String name); /** * Change the HardwareRenderer's opacity */ abstract void setOpaque(boolean opaque); /** * Creates a hardware renderer using OpenGL. * Loading core/java/android/view/ThreadedRenderer.java +6 −0 Original line number Diff line number Diff line Loading @@ -147,6 +147,11 @@ public class ThreadedRenderer extends HardwareRenderer { nSetup(mNativeProxy, width, height); } @Override void setOpaque(boolean opaque) { nSetOpaque(mNativeProxy, opaque); } @Override int getWidth() { return mWidth; Loading Loading @@ -312,6 +317,7 @@ public class ThreadedRenderer extends HardwareRenderer { private static native void nUpdateSurface(long nativeProxy, Surface window); private static native void nPauseSurface(long nativeProxy, Surface window); private static native void nSetup(long nativeProxy, int width, int height); private static native void nSetOpaque(long nativeProxy, boolean opaque); private static native void nSetDisplayListData(long nativeProxy, long displayList, long newData); private static native int nSyncAndDrawFrame(long nativeProxy, long frameTimeNanos, Loading core/java/android/view/ViewRootImpl.java +3 −1 Original line number Diff line number Diff line Loading @@ -6174,8 +6174,10 @@ public final class ViewRootImpl implements ViewParent, } void changeCanvasOpacity(boolean opaque) { // TODO(romainguy): recreate Canvas (software or hardware) to reflect the opacity change. Log.d(TAG, "changeCanvasOpacity: opaque=" + opaque); if (mAttachInfo.mHardwareRenderer != null) { mAttachInfo.mHardwareRenderer.setOpaque(opaque); } } class TakenSurfaceHolder extends BaseSurfaceHolder { Loading core/jni/android_view_ThreadedRenderer.cpp +7 −0 Original line number Diff line number Diff line Loading @@ -197,6 +197,12 @@ static void android_view_ThreadedRenderer_setup(JNIEnv* env, jobject clazz, proxy->setup(width, height); } static void android_view_ThreadedRenderer_setOpaque(JNIEnv* env, jobject clazz, jlong proxyPtr, jboolean opaque) { RenderProxy* proxy = reinterpret_cast<RenderProxy*>(proxyPtr); proxy->setOpaque(opaque); } static int android_view_ThreadedRenderer_syncAndDrawFrame(JNIEnv* env, jobject clazz, jlong proxyPtr, jlong frameTimeNanos, jint dirtyLeft, jint dirtyTop, jint dirtyRight, jint dirtyBottom) { Loading Loading @@ -279,6 +285,7 @@ static JNINativeMethod gMethods[] = { { "nUpdateSurface", "(JLandroid/view/Surface;)V", (void*) android_view_ThreadedRenderer_updateSurface }, { "nPauseSurface", "(JLandroid/view/Surface;)V", (void*) android_view_ThreadedRenderer_pauseSurface }, { "nSetup", "(JII)V", (void*) android_view_ThreadedRenderer_setup }, { "nSetOpaque", "(JZ)V", (void*) android_view_ThreadedRenderer_setOpaque }, { "nSyncAndDrawFrame", "(JJIIII)I", (void*) android_view_ThreadedRenderer_syncAndDrawFrame }, { "nDestroyCanvasAndSurface", "(J)V", (void*) android_view_ThreadedRenderer_destroyCanvasAndSurface }, { "nInvokeFunctor", "(JJZ)V", (void*) android_view_ThreadedRenderer_invokeFunctor }, Loading Loading
core/java/android/view/GLRenderer.java +5 −0 Original line number Diff line number Diff line Loading @@ -653,6 +653,11 @@ public class GLRenderer extends HardwareRenderer { loadSystemProperties(); } @Override void setOpaque(boolean opaque) { // Not supported } @Override boolean loadSystemProperties() { boolean value; Loading
core/java/android/view/HardwareRenderer.java +5 −0 Original line number Diff line number Diff line Loading @@ -490,6 +490,11 @@ public abstract class HardwareRenderer { */ abstract void setName(String name); /** * Change the HardwareRenderer's opacity */ abstract void setOpaque(boolean opaque); /** * Creates a hardware renderer using OpenGL. * Loading
core/java/android/view/ThreadedRenderer.java +6 −0 Original line number Diff line number Diff line Loading @@ -147,6 +147,11 @@ public class ThreadedRenderer extends HardwareRenderer { nSetup(mNativeProxy, width, height); } @Override void setOpaque(boolean opaque) { nSetOpaque(mNativeProxy, opaque); } @Override int getWidth() { return mWidth; Loading Loading @@ -312,6 +317,7 @@ public class ThreadedRenderer extends HardwareRenderer { private static native void nUpdateSurface(long nativeProxy, Surface window); private static native void nPauseSurface(long nativeProxy, Surface window); private static native void nSetup(long nativeProxy, int width, int height); private static native void nSetOpaque(long nativeProxy, boolean opaque); private static native void nSetDisplayListData(long nativeProxy, long displayList, long newData); private static native int nSyncAndDrawFrame(long nativeProxy, long frameTimeNanos, Loading
core/java/android/view/ViewRootImpl.java +3 −1 Original line number Diff line number Diff line Loading @@ -6174,8 +6174,10 @@ public final class ViewRootImpl implements ViewParent, } void changeCanvasOpacity(boolean opaque) { // TODO(romainguy): recreate Canvas (software or hardware) to reflect the opacity change. Log.d(TAG, "changeCanvasOpacity: opaque=" + opaque); if (mAttachInfo.mHardwareRenderer != null) { mAttachInfo.mHardwareRenderer.setOpaque(opaque); } } class TakenSurfaceHolder extends BaseSurfaceHolder { Loading
core/jni/android_view_ThreadedRenderer.cpp +7 −0 Original line number Diff line number Diff line Loading @@ -197,6 +197,12 @@ static void android_view_ThreadedRenderer_setup(JNIEnv* env, jobject clazz, proxy->setup(width, height); } static void android_view_ThreadedRenderer_setOpaque(JNIEnv* env, jobject clazz, jlong proxyPtr, jboolean opaque) { RenderProxy* proxy = reinterpret_cast<RenderProxy*>(proxyPtr); proxy->setOpaque(opaque); } static int android_view_ThreadedRenderer_syncAndDrawFrame(JNIEnv* env, jobject clazz, jlong proxyPtr, jlong frameTimeNanos, jint dirtyLeft, jint dirtyTop, jint dirtyRight, jint dirtyBottom) { Loading Loading @@ -279,6 +285,7 @@ static JNINativeMethod gMethods[] = { { "nUpdateSurface", "(JLandroid/view/Surface;)V", (void*) android_view_ThreadedRenderer_updateSurface }, { "nPauseSurface", "(JLandroid/view/Surface;)V", (void*) android_view_ThreadedRenderer_pauseSurface }, { "nSetup", "(JII)V", (void*) android_view_ThreadedRenderer_setup }, { "nSetOpaque", "(JZ)V", (void*) android_view_ThreadedRenderer_setOpaque }, { "nSyncAndDrawFrame", "(JJIIII)I", (void*) android_view_ThreadedRenderer_syncAndDrawFrame }, { "nDestroyCanvasAndSurface", "(J)V", (void*) android_view_ThreadedRenderer_destroyCanvasAndSurface }, { "nInvokeFunctor", "(JJZ)V", (void*) android_view_ThreadedRenderer_invokeFunctor }, Loading