Loading core/java/android/view/DisplayList.java +417 −99 File changed.Preview size limit exceeded, changes collapsed. Show changes core/java/android/view/GLES20Canvas.java +4 −22 Original line number Diff line number Diff line Loading @@ -378,23 +378,12 @@ class GLES20Canvas extends HardwareCanvas { private static native int nGetDisplayList(int renderer, int displayList); static void destroyDisplayList(int displayList) { nDestroyDisplayList(displayList); } private static native void nDestroyDisplayList(int displayList); static int getDisplayListSize(int displayList) { return nGetDisplayListSize(displayList); } private static native int nGetDisplayListSize(int displayList); static void setDisplayListName(int displayList, String name) { nSetDisplayListName(displayList, name); @Override void outputDisplayList(DisplayList displayList) { nOutputDisplayList(mRenderer, ((GLES20DisplayList) displayList).getNativeDisplayList()); } private static native void nSetDisplayListName(int displayList, String name); private static native void nOutputDisplayList(int renderer, int displayList); @Override public int drawDisplayList(DisplayList displayList, Rect dirty, int flags) { Loading @@ -405,13 +394,6 @@ class GLES20Canvas extends HardwareCanvas { private static native int nDrawDisplayList(int renderer, int displayList, Rect dirty, int flags); @Override void outputDisplayList(DisplayList displayList) { nOutputDisplayList(mRenderer, ((GLES20DisplayList) displayList).getNativeDisplayList()); } private static native void nOutputDisplayList(int renderer, int displayList); /////////////////////////////////////////////////////////////////////////// // Hardware layer /////////////////////////////////////////////////////////////////////////// Loading core/java/android/view/GLES20DisplayList.java +175 −23 Original line number Diff line number Diff line Loading @@ -58,7 +58,7 @@ class GLES20DisplayList extends DisplayList { } @Override public HardwareCanvas start() { public HardwareCanvas start(int width, int height) { if (mCanvas != null) { throw new IllegalStateException("Recording has already started"); } Loading @@ -66,25 +66,26 @@ class GLES20DisplayList extends DisplayList { mValid = false; mCanvas = GLES20RecordingCanvas.obtain(this); mCanvas.start(); mCanvas.setViewport(width, height); // The dirty rect should always be null for a display list mCanvas.onPreDraw(null); return mCanvas; } @Override public void invalidate() { public void clear() { clearDirty(); if (mCanvas != null) { mCanvas.recycle(); mCanvas = null; } mValid = false; } @Override public void clear() { if (!mValid) { mBitmaps.clear(); mChildDisplayLists.clear(); } } @Override public void reset() { Loading @@ -101,11 +102,12 @@ class GLES20DisplayList extends DisplayList { @Override public void end() { if (mCanvas != null) { mCanvas.onPostDraw(); if (mFinalizer != null) { mCanvas.end(mFinalizer.mNativeDisplayList); } else { mFinalizer = new DisplayListFinalizer(mCanvas.end(0)); GLES20Canvas.setDisplayListName(mFinalizer.mNativeDisplayList, mName); nSetDisplayListName(mFinalizer.mNativeDisplayList, mName); } mCanvas.recycle(); mCanvas = null; Loading @@ -116,9 +118,13 @@ class GLES20DisplayList extends DisplayList { @Override public int getSize() { if (mFinalizer == null) return 0; return GLES20Canvas.getDisplayListSize(mFinalizer.mNativeDisplayList); return nGetDisplayListSize(mFinalizer.mNativeDisplayList); } private static native void nDestroyDisplayList(int displayList); private static native int nGetDisplayListSize(int displayList); private static native void nSetDisplayListName(int displayList, String name); /////////////////////////////////////////////////////////////////////////// // Native View Properties /////////////////////////////////////////////////////////////////////////// Loading @@ -138,12 +144,20 @@ class GLES20DisplayList extends DisplayList { } @Override public void setStaticMatrix(Matrix matrix) { public void setMatrix(Matrix matrix) { if (hasNativeDisplayList()) { nSetStaticMatrix(mFinalizer.mNativeDisplayList, matrix.native_instance); } } @Override public Matrix getMatrix(Matrix matrix) { if (hasNativeDisplayList()) { nGetMatrix(mFinalizer.mNativeDisplayList, matrix.native_instance); } return matrix; } @Override public void setAnimationMatrix(Matrix matrix) { if (hasNativeDisplayList()) { Loading @@ -159,6 +173,14 @@ class GLES20DisplayList extends DisplayList { } } @Override public float getAlpha() { if (hasNativeDisplayList()) { return nGetAlpha(mFinalizer.mNativeDisplayList); } return 1.0f; } @Override public void setHasOverlappingRendering(boolean hasOverlappingRendering) { if (hasNativeDisplayList()) { Loading @@ -166,6 +188,15 @@ class GLES20DisplayList extends DisplayList { } } @Override public boolean hasOverlappingRendering() { //noinspection SimplifiableIfStatement if (hasNativeDisplayList()) { return nHasOverlappingRendering(mFinalizer.mNativeDisplayList); } return true; } @Override public void setTranslationX(float translationX) { if (hasNativeDisplayList()) { Loading @@ -173,6 +204,14 @@ class GLES20DisplayList extends DisplayList { } } @Override public float getTranslationX() { if (hasNativeDisplayList()) { return nGetTranslationX(mFinalizer.mNativeDisplayList); } return 0.0f; } @Override public void setTranslationY(float translationY) { if (hasNativeDisplayList()) { Loading @@ -180,6 +219,14 @@ class GLES20DisplayList extends DisplayList { } } @Override public float getTranslationY() { if (hasNativeDisplayList()) { return nGetTranslationY(mFinalizer.mNativeDisplayList); } return 0.0f; } @Override public void setRotation(float rotation) { if (hasNativeDisplayList()) { Loading @@ -187,6 +234,14 @@ class GLES20DisplayList extends DisplayList { } } @Override public float getRotation() { if (hasNativeDisplayList()) { return nGetRotation(mFinalizer.mNativeDisplayList); } return 0.0f; } @Override public void setRotationX(float rotationX) { if (hasNativeDisplayList()) { Loading @@ -194,6 +249,14 @@ class GLES20DisplayList extends DisplayList { } } @Override public float getRotationX() { if (hasNativeDisplayList()) { return nGetRotationX(mFinalizer.mNativeDisplayList); } return 0.0f; } @Override public void setRotationY(float rotationY) { if (hasNativeDisplayList()) { Loading @@ -201,6 +264,14 @@ class GLES20DisplayList extends DisplayList { } } @Override public float getRotationY() { if (hasNativeDisplayList()) { return nGetRotationY(mFinalizer.mNativeDisplayList); } return 0.0f; } @Override public void setScaleX(float scaleX) { if (hasNativeDisplayList()) { Loading @@ -208,6 +279,14 @@ class GLES20DisplayList extends DisplayList { } } @Override public float getScaleX() { if (hasNativeDisplayList()) { return nGetScaleX(mFinalizer.mNativeDisplayList); } return 1.0f; } @Override public void setScaleY(float scaleY) { if (hasNativeDisplayList()) { Loading @@ -215,6 +294,14 @@ class GLES20DisplayList extends DisplayList { } } @Override public float getScaleY() { if (hasNativeDisplayList()) { return nGetScaleY(mFinalizer.mNativeDisplayList); } return 1.0f; } @Override public void setTransformationInfo(float alpha, float translationX, float translationY, float rotation, float rotationX, float rotationY, float scaleX, float scaleY) { Loading @@ -231,6 +318,14 @@ class GLES20DisplayList extends DisplayList { } } @Override public float getPivotX() { if (hasNativeDisplayList()) { return nGetPivotX(mFinalizer.mNativeDisplayList); } return 0.0f; } @Override public void setPivotY(float pivotY) { if (hasNativeDisplayList()) { Loading @@ -238,6 +333,14 @@ class GLES20DisplayList extends DisplayList { } } @Override public float getPivotY() { if (hasNativeDisplayList()) { return nGetPivotY(mFinalizer.mNativeDisplayList); } return 0.0f; } @Override public void setCameraDistance(float distance) { if (hasNativeDisplayList()) { Loading @@ -245,6 +348,14 @@ class GLES20DisplayList extends DisplayList { } } @Override public float getCameraDistance() { if (hasNativeDisplayList()) { return nGetCameraDistance(mFinalizer.mNativeDisplayList); } return 0.0f; } @Override public void setLeft(int left) { if (hasNativeDisplayList()) { Loading @@ -252,6 +363,14 @@ class GLES20DisplayList extends DisplayList { } } @Override public float getLeft() { if (hasNativeDisplayList()) { return nGetLeft(mFinalizer.mNativeDisplayList); } return 0.0f; } @Override public void setTop(int top) { if (hasNativeDisplayList()) { Loading @@ -259,6 +378,14 @@ class GLES20DisplayList extends DisplayList { } } @Override public float getTop() { if (hasNativeDisplayList()) { return nGetTop(mFinalizer.mNativeDisplayList); } return 0.0f; } @Override public void setRight(int right) { if (hasNativeDisplayList()) { Loading @@ -266,6 +393,14 @@ class GLES20DisplayList extends DisplayList { } } @Override public float getRight() { if (hasNativeDisplayList()) { return nGetRight(mFinalizer.mNativeDisplayList); } return 0.0f; } @Override public void setBottom(int bottom) { if (hasNativeDisplayList()) { Loading @@ -274,10 +409,11 @@ class GLES20DisplayList extends DisplayList { } @Override public void setLeftTop(int left, int top) { public float getBottom() { if (hasNativeDisplayList()) { nSetLeftTop(mFinalizer.mNativeDisplayList, left, top); return nGetBottom(mFinalizer.mNativeDisplayList); } return 0.0f; } @Override Loading @@ -288,25 +424,24 @@ class GLES20DisplayList extends DisplayList { } @Override public void offsetLeftRight(int offset) { public void offsetLeftAndRight(float offset) { if (hasNativeDisplayList()) { nOffsetLeftRight(mFinalizer.mNativeDisplayList, offset); nOffsetLeftAndRight(mFinalizer.mNativeDisplayList, offset); } } @Override public void offsetTopBottom(int offset) { public void offsetTopAndBottom(float offset) { if (hasNativeDisplayList()) { nOffsetTopBottom(mFinalizer.mNativeDisplayList, offset); nOffsetTopAndBottom(mFinalizer.mNativeDisplayList, offset); } } private static native void nReset(int displayList); private static native void nOffsetTopBottom(int displayList, int offset); private static native void nOffsetLeftRight(int displayList, int offset); private static native void nOffsetTopAndBottom(int displayList, float offset); private static native void nOffsetLeftAndRight(int displayList, float offset); private static native void nSetLeftTopRightBottom(int displayList, int left, int top, int right, int bottom); private static native void nSetLeftTop(int displayList, int left, int top); private static native void nSetBottom(int displayList, int bottom); private static native void nSetRight(int displayList, int right); private static native void nSetTop(int displayList, int top); Loading @@ -332,6 +467,23 @@ class GLES20DisplayList extends DisplayList { private static native void nSetStaticMatrix(int displayList, int nativeMatrix); private static native void nSetAnimationMatrix(int displayList, int animationMatrix); private static native boolean nHasOverlappingRendering(int displayList); private static native void nGetMatrix(int displayList, int matrix); private static native float nGetAlpha(int displayList); private static native float nGetLeft(int displayList); private static native float nGetTop(int displayList); private static native float nGetRight(int displayList); private static native float nGetBottom(int displayList); private static native float nGetCameraDistance(int displayList); private static native float nGetScaleX(int displayList); private static native float nGetScaleY(int displayList); private static native float nGetTranslationX(int displayList); private static native float nGetTranslationY(int displayList); private static native float nGetRotation(int displayList); private static native float nGetRotationX(int displayList); private static native float nGetRotationY(int displayList); private static native float nGetPivotX(int displayList); private static native float nGetPivotY(int displayList); /////////////////////////////////////////////////////////////////////////// // Finalization Loading @@ -347,7 +499,7 @@ class GLES20DisplayList extends DisplayList { @Override protected void finalize() throws Throwable { try { GLES20Canvas.destroyDisplayList(mNativeDisplayList); nDestroyDisplayList(mNativeDisplayList); } finally { super.finalize(); } Loading core/java/android/view/GLES20Layer.java +2 −2 Original line number Diff line number Diff line Loading @@ -53,12 +53,12 @@ abstract class GLES20Layer extends HardwareLayer { } @Override boolean copyInto(Bitmap bitmap) { public boolean copyInto(Bitmap bitmap) { return GLES20Canvas.nCopyLayer(mLayer, bitmap.mNativeBitmap); } @Override void destroy() { public void destroy() { if (mFinalizer != null) { mFinalizer.destroy(); mFinalizer = null; Loading core/java/android/view/GLES20RenderLayer.java +8 −1 Original line number Diff line number Diff line Loading @@ -92,6 +92,10 @@ class GLES20RenderLayer extends GLES20Layer { if (currentCanvas instanceof GLES20Canvas) { ((GLES20Canvas) currentCanvas).resume(); } HardwareCanvas canvas = getCanvas(); if (canvas != null) { canvas.onPostDraw(); } } @Override Loading @@ -99,7 +103,10 @@ class GLES20RenderLayer extends GLES20Layer { if (currentCanvas instanceof GLES20Canvas) { ((GLES20Canvas) currentCanvas).interrupt(); } return getCanvas(); HardwareCanvas canvas = getCanvas(); canvas.setViewport(mWidth, mHeight); canvas.onPreDraw(null); return canvas; } /** Loading Loading
core/java/android/view/DisplayList.java +417 −99 File changed.Preview size limit exceeded, changes collapsed. Show changes
core/java/android/view/GLES20Canvas.java +4 −22 Original line number Diff line number Diff line Loading @@ -378,23 +378,12 @@ class GLES20Canvas extends HardwareCanvas { private static native int nGetDisplayList(int renderer, int displayList); static void destroyDisplayList(int displayList) { nDestroyDisplayList(displayList); } private static native void nDestroyDisplayList(int displayList); static int getDisplayListSize(int displayList) { return nGetDisplayListSize(displayList); } private static native int nGetDisplayListSize(int displayList); static void setDisplayListName(int displayList, String name) { nSetDisplayListName(displayList, name); @Override void outputDisplayList(DisplayList displayList) { nOutputDisplayList(mRenderer, ((GLES20DisplayList) displayList).getNativeDisplayList()); } private static native void nSetDisplayListName(int displayList, String name); private static native void nOutputDisplayList(int renderer, int displayList); @Override public int drawDisplayList(DisplayList displayList, Rect dirty, int flags) { Loading @@ -405,13 +394,6 @@ class GLES20Canvas extends HardwareCanvas { private static native int nDrawDisplayList(int renderer, int displayList, Rect dirty, int flags); @Override void outputDisplayList(DisplayList displayList) { nOutputDisplayList(mRenderer, ((GLES20DisplayList) displayList).getNativeDisplayList()); } private static native void nOutputDisplayList(int renderer, int displayList); /////////////////////////////////////////////////////////////////////////// // Hardware layer /////////////////////////////////////////////////////////////////////////// Loading
core/java/android/view/GLES20DisplayList.java +175 −23 Original line number Diff line number Diff line Loading @@ -58,7 +58,7 @@ class GLES20DisplayList extends DisplayList { } @Override public HardwareCanvas start() { public HardwareCanvas start(int width, int height) { if (mCanvas != null) { throw new IllegalStateException("Recording has already started"); } Loading @@ -66,25 +66,26 @@ class GLES20DisplayList extends DisplayList { mValid = false; mCanvas = GLES20RecordingCanvas.obtain(this); mCanvas.start(); mCanvas.setViewport(width, height); // The dirty rect should always be null for a display list mCanvas.onPreDraw(null); return mCanvas; } @Override public void invalidate() { public void clear() { clearDirty(); if (mCanvas != null) { mCanvas.recycle(); mCanvas = null; } mValid = false; } @Override public void clear() { if (!mValid) { mBitmaps.clear(); mChildDisplayLists.clear(); } } @Override public void reset() { Loading @@ -101,11 +102,12 @@ class GLES20DisplayList extends DisplayList { @Override public void end() { if (mCanvas != null) { mCanvas.onPostDraw(); if (mFinalizer != null) { mCanvas.end(mFinalizer.mNativeDisplayList); } else { mFinalizer = new DisplayListFinalizer(mCanvas.end(0)); GLES20Canvas.setDisplayListName(mFinalizer.mNativeDisplayList, mName); nSetDisplayListName(mFinalizer.mNativeDisplayList, mName); } mCanvas.recycle(); mCanvas = null; Loading @@ -116,9 +118,13 @@ class GLES20DisplayList extends DisplayList { @Override public int getSize() { if (mFinalizer == null) return 0; return GLES20Canvas.getDisplayListSize(mFinalizer.mNativeDisplayList); return nGetDisplayListSize(mFinalizer.mNativeDisplayList); } private static native void nDestroyDisplayList(int displayList); private static native int nGetDisplayListSize(int displayList); private static native void nSetDisplayListName(int displayList, String name); /////////////////////////////////////////////////////////////////////////// // Native View Properties /////////////////////////////////////////////////////////////////////////// Loading @@ -138,12 +144,20 @@ class GLES20DisplayList extends DisplayList { } @Override public void setStaticMatrix(Matrix matrix) { public void setMatrix(Matrix matrix) { if (hasNativeDisplayList()) { nSetStaticMatrix(mFinalizer.mNativeDisplayList, matrix.native_instance); } } @Override public Matrix getMatrix(Matrix matrix) { if (hasNativeDisplayList()) { nGetMatrix(mFinalizer.mNativeDisplayList, matrix.native_instance); } return matrix; } @Override public void setAnimationMatrix(Matrix matrix) { if (hasNativeDisplayList()) { Loading @@ -159,6 +173,14 @@ class GLES20DisplayList extends DisplayList { } } @Override public float getAlpha() { if (hasNativeDisplayList()) { return nGetAlpha(mFinalizer.mNativeDisplayList); } return 1.0f; } @Override public void setHasOverlappingRendering(boolean hasOverlappingRendering) { if (hasNativeDisplayList()) { Loading @@ -166,6 +188,15 @@ class GLES20DisplayList extends DisplayList { } } @Override public boolean hasOverlappingRendering() { //noinspection SimplifiableIfStatement if (hasNativeDisplayList()) { return nHasOverlappingRendering(mFinalizer.mNativeDisplayList); } return true; } @Override public void setTranslationX(float translationX) { if (hasNativeDisplayList()) { Loading @@ -173,6 +204,14 @@ class GLES20DisplayList extends DisplayList { } } @Override public float getTranslationX() { if (hasNativeDisplayList()) { return nGetTranslationX(mFinalizer.mNativeDisplayList); } return 0.0f; } @Override public void setTranslationY(float translationY) { if (hasNativeDisplayList()) { Loading @@ -180,6 +219,14 @@ class GLES20DisplayList extends DisplayList { } } @Override public float getTranslationY() { if (hasNativeDisplayList()) { return nGetTranslationY(mFinalizer.mNativeDisplayList); } return 0.0f; } @Override public void setRotation(float rotation) { if (hasNativeDisplayList()) { Loading @@ -187,6 +234,14 @@ class GLES20DisplayList extends DisplayList { } } @Override public float getRotation() { if (hasNativeDisplayList()) { return nGetRotation(mFinalizer.mNativeDisplayList); } return 0.0f; } @Override public void setRotationX(float rotationX) { if (hasNativeDisplayList()) { Loading @@ -194,6 +249,14 @@ class GLES20DisplayList extends DisplayList { } } @Override public float getRotationX() { if (hasNativeDisplayList()) { return nGetRotationX(mFinalizer.mNativeDisplayList); } return 0.0f; } @Override public void setRotationY(float rotationY) { if (hasNativeDisplayList()) { Loading @@ -201,6 +264,14 @@ class GLES20DisplayList extends DisplayList { } } @Override public float getRotationY() { if (hasNativeDisplayList()) { return nGetRotationY(mFinalizer.mNativeDisplayList); } return 0.0f; } @Override public void setScaleX(float scaleX) { if (hasNativeDisplayList()) { Loading @@ -208,6 +279,14 @@ class GLES20DisplayList extends DisplayList { } } @Override public float getScaleX() { if (hasNativeDisplayList()) { return nGetScaleX(mFinalizer.mNativeDisplayList); } return 1.0f; } @Override public void setScaleY(float scaleY) { if (hasNativeDisplayList()) { Loading @@ -215,6 +294,14 @@ class GLES20DisplayList extends DisplayList { } } @Override public float getScaleY() { if (hasNativeDisplayList()) { return nGetScaleY(mFinalizer.mNativeDisplayList); } return 1.0f; } @Override public void setTransformationInfo(float alpha, float translationX, float translationY, float rotation, float rotationX, float rotationY, float scaleX, float scaleY) { Loading @@ -231,6 +318,14 @@ class GLES20DisplayList extends DisplayList { } } @Override public float getPivotX() { if (hasNativeDisplayList()) { return nGetPivotX(mFinalizer.mNativeDisplayList); } return 0.0f; } @Override public void setPivotY(float pivotY) { if (hasNativeDisplayList()) { Loading @@ -238,6 +333,14 @@ class GLES20DisplayList extends DisplayList { } } @Override public float getPivotY() { if (hasNativeDisplayList()) { return nGetPivotY(mFinalizer.mNativeDisplayList); } return 0.0f; } @Override public void setCameraDistance(float distance) { if (hasNativeDisplayList()) { Loading @@ -245,6 +348,14 @@ class GLES20DisplayList extends DisplayList { } } @Override public float getCameraDistance() { if (hasNativeDisplayList()) { return nGetCameraDistance(mFinalizer.mNativeDisplayList); } return 0.0f; } @Override public void setLeft(int left) { if (hasNativeDisplayList()) { Loading @@ -252,6 +363,14 @@ class GLES20DisplayList extends DisplayList { } } @Override public float getLeft() { if (hasNativeDisplayList()) { return nGetLeft(mFinalizer.mNativeDisplayList); } return 0.0f; } @Override public void setTop(int top) { if (hasNativeDisplayList()) { Loading @@ -259,6 +378,14 @@ class GLES20DisplayList extends DisplayList { } } @Override public float getTop() { if (hasNativeDisplayList()) { return nGetTop(mFinalizer.mNativeDisplayList); } return 0.0f; } @Override public void setRight(int right) { if (hasNativeDisplayList()) { Loading @@ -266,6 +393,14 @@ class GLES20DisplayList extends DisplayList { } } @Override public float getRight() { if (hasNativeDisplayList()) { return nGetRight(mFinalizer.mNativeDisplayList); } return 0.0f; } @Override public void setBottom(int bottom) { if (hasNativeDisplayList()) { Loading @@ -274,10 +409,11 @@ class GLES20DisplayList extends DisplayList { } @Override public void setLeftTop(int left, int top) { public float getBottom() { if (hasNativeDisplayList()) { nSetLeftTop(mFinalizer.mNativeDisplayList, left, top); return nGetBottom(mFinalizer.mNativeDisplayList); } return 0.0f; } @Override Loading @@ -288,25 +424,24 @@ class GLES20DisplayList extends DisplayList { } @Override public void offsetLeftRight(int offset) { public void offsetLeftAndRight(float offset) { if (hasNativeDisplayList()) { nOffsetLeftRight(mFinalizer.mNativeDisplayList, offset); nOffsetLeftAndRight(mFinalizer.mNativeDisplayList, offset); } } @Override public void offsetTopBottom(int offset) { public void offsetTopAndBottom(float offset) { if (hasNativeDisplayList()) { nOffsetTopBottom(mFinalizer.mNativeDisplayList, offset); nOffsetTopAndBottom(mFinalizer.mNativeDisplayList, offset); } } private static native void nReset(int displayList); private static native void nOffsetTopBottom(int displayList, int offset); private static native void nOffsetLeftRight(int displayList, int offset); private static native void nOffsetTopAndBottom(int displayList, float offset); private static native void nOffsetLeftAndRight(int displayList, float offset); private static native void nSetLeftTopRightBottom(int displayList, int left, int top, int right, int bottom); private static native void nSetLeftTop(int displayList, int left, int top); private static native void nSetBottom(int displayList, int bottom); private static native void nSetRight(int displayList, int right); private static native void nSetTop(int displayList, int top); Loading @@ -332,6 +467,23 @@ class GLES20DisplayList extends DisplayList { private static native void nSetStaticMatrix(int displayList, int nativeMatrix); private static native void nSetAnimationMatrix(int displayList, int animationMatrix); private static native boolean nHasOverlappingRendering(int displayList); private static native void nGetMatrix(int displayList, int matrix); private static native float nGetAlpha(int displayList); private static native float nGetLeft(int displayList); private static native float nGetTop(int displayList); private static native float nGetRight(int displayList); private static native float nGetBottom(int displayList); private static native float nGetCameraDistance(int displayList); private static native float nGetScaleX(int displayList); private static native float nGetScaleY(int displayList); private static native float nGetTranslationX(int displayList); private static native float nGetTranslationY(int displayList); private static native float nGetRotation(int displayList); private static native float nGetRotationX(int displayList); private static native float nGetRotationY(int displayList); private static native float nGetPivotX(int displayList); private static native float nGetPivotY(int displayList); /////////////////////////////////////////////////////////////////////////// // Finalization Loading @@ -347,7 +499,7 @@ class GLES20DisplayList extends DisplayList { @Override protected void finalize() throws Throwable { try { GLES20Canvas.destroyDisplayList(mNativeDisplayList); nDestroyDisplayList(mNativeDisplayList); } finally { super.finalize(); } Loading
core/java/android/view/GLES20Layer.java +2 −2 Original line number Diff line number Diff line Loading @@ -53,12 +53,12 @@ abstract class GLES20Layer extends HardwareLayer { } @Override boolean copyInto(Bitmap bitmap) { public boolean copyInto(Bitmap bitmap) { return GLES20Canvas.nCopyLayer(mLayer, bitmap.mNativeBitmap); } @Override void destroy() { public void destroy() { if (mFinalizer != null) { mFinalizer.destroy(); mFinalizer = null; Loading
core/java/android/view/GLES20RenderLayer.java +8 −1 Original line number Diff line number Diff line Loading @@ -92,6 +92,10 @@ class GLES20RenderLayer extends GLES20Layer { if (currentCanvas instanceof GLES20Canvas) { ((GLES20Canvas) currentCanvas).resume(); } HardwareCanvas canvas = getCanvas(); if (canvas != null) { canvas.onPostDraw(); } } @Override Loading @@ -99,7 +103,10 @@ class GLES20RenderLayer extends GLES20Layer { if (currentCanvas instanceof GLES20Canvas) { ((GLES20Canvas) currentCanvas).interrupt(); } return getCanvas(); HardwareCanvas canvas = getCanvas(); canvas.setViewport(mWidth, mHeight); canvas.onPreDraw(null); return canvas; } /** Loading