diff options
author | George Mount <mount@google.com> | 2012-11-16 15:44:26 -0800 |
---|---|---|
committer | George Mount <mount@google.com> | 2012-12-05 11:18:20 -0800 |
commit | 837007c09f723dd96cd8e99476de242c633759c2 (patch) | |
tree | 67e41902c33cc95b21f2a9cdc77899b0e2ba5221 /src/com/android/gallery3d/ui/NinePatchTexture.java | |
parent | 8d26578f8db895dadb7e0e1d7a56c00fa18183ec (diff) | |
download | android_packages_apps_Snap-837007c09f723dd96cd8e99476de242c633759c2.tar.gz android_packages_apps_Snap-837007c09f723dd96cd8e99476de242c633759c2.tar.bz2 android_packages_apps_Snap-837007c09f723dd96cd8e99476de242c633759c2.zip |
Add GLES20 canvas implementation.
Change-Id: I5680909f31dc097599d0e063aa1f6daba834d3e2
Diffstat (limited to 'src/com/android/gallery3d/ui/NinePatchTexture.java')
-rw-r--r-- | src/com/android/gallery3d/ui/NinePatchTexture.java | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/src/com/android/gallery3d/ui/NinePatchTexture.java b/src/com/android/gallery3d/ui/NinePatchTexture.java index b60504c76..f5c614554 100644 --- a/src/com/android/gallery3d/ui/NinePatchTexture.java +++ b/src/com/android/gallery3d/ui/NinePatchTexture.java @@ -23,7 +23,6 @@ import android.graphics.Rect; import com.android.gallery3d.common.Utils; -import java.nio.Buffer; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.FloatBuffer; @@ -198,7 +197,9 @@ class NinePatchInstance { private ByteBuffer mIndexBuffer; // Names for buffer names: xy, uv, index. - private int[] mBufferNames; + private int mXyBufferName = -1; + private int mUvBufferName; + private int mIndexBufferName; private int mIdxCount; @@ -395,10 +396,9 @@ class NinePatchInstance { } private void prepareBuffers(GLCanvas canvas) { - Buffer[] buffers = { - mXyBuffer, mUvBuffer, mIndexBuffer - }; - mBufferNames = canvas.uploadBuffers(buffers); + mXyBufferName = canvas.uploadBuffer(mXyBuffer); + mUvBufferName = canvas.uploadBuffer(mUvBuffer); + mIndexBufferName = canvas.uploadBuffer(mIndexBuffer); // These buffers are never used again. mXyBuffer = null; @@ -407,19 +407,18 @@ class NinePatchInstance { } public void draw(GLCanvas canvas, NinePatchTexture tex, int x, int y) { - if (mBufferNames == null) { + if (mXyBufferName == -1) { prepareBuffers(canvas); } - canvas.drawMesh(tex, x, y, mBufferNames[0], mBufferNames[1], - mBufferNames[2], mIdxCount); + canvas.drawMesh(tex, x, y, mXyBufferName, mUvBufferName, mIndexBufferName, mIdxCount); } public void recycle(GLCanvas canvas) { - if (mBufferNames != null) { - canvas.deleteBuffer(mBufferNames[0]); - canvas.deleteBuffer(mBufferNames[1]); - canvas.deleteBuffer(mBufferNames[2]); - mBufferNames = null; + if (mXyBuffer == null) { + canvas.deleteBuffer(mXyBufferName); + canvas.deleteBuffer(mUvBufferName); + canvas.deleteBuffer(mIndexBufferName); + mXyBufferName = -1; } } } |