diff options
author | George Mount <mount@google.com> | 2013-01-13 14:39:29 -0800 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-01-13 14:39:30 -0800 |
commit | a9de8750056fb8bacaafd9706e9e2320cbe0cbe1 (patch) | |
tree | a0d82d2f3f03538aaed82915073ad08aeb5699e7 | |
parent | b146af084f43e6b87ad34ac9bf94b18aa36a46aa (diff) | |
parent | 5a4285d3ef0e05f817c45456217546f4f2f00d75 (diff) | |
download | android_packages_apps_Snap-a9de8750056fb8bacaafd9706e9e2320cbe0cbe1.tar.gz android_packages_apps_Snap-a9de8750056fb8bacaafd9706e9e2320cbe0cbe1.tar.bz2 android_packages_apps_Snap-a9de8750056fb8bacaafd9706e9e2320cbe0cbe1.zip |
Merge "Fix LightCycle capture NullPointerException." into gb-ub-photos-bryce
-rw-r--r-- | src/com/android/gallery3d/glrenderer/BasicTexture.java | 4 | ||||
-rw-r--r-- | src/com/android/gallery3d/glrenderer/GLES20Canvas.java | 9 | ||||
-rw-r--r-- | src/com/android/gallery3d/glrenderer/RawTexture.java | 10 |
3 files changed, 23 insertions, 0 deletions
diff --git a/src/com/android/gallery3d/glrenderer/BasicTexture.java b/src/com/android/gallery3d/glrenderer/BasicTexture.java index 48227f6ef..82eb5a7ee 100644 --- a/src/com/android/gallery3d/glrenderer/BasicTexture.java +++ b/src/com/android/gallery3d/glrenderer/BasicTexture.java @@ -86,6 +86,10 @@ public abstract class BasicTexture implements Texture { } } + public boolean isFlippedVertically() { + return false; + } + public int getId() { return mId; } diff --git a/src/com/android/gallery3d/glrenderer/GLES20Canvas.java b/src/com/android/gallery3d/glrenderer/GLES20Canvas.java index 149b21efd..28b72ec3b 100644 --- a/src/com/android/gallery3d/glrenderer/GLES20Canvas.java +++ b/src/com/android/gallery3d/glrenderer/GLES20Canvas.java @@ -669,8 +669,17 @@ public class GLES20Canvas implements GLCanvas { setPosition(params, OFFSET_FILL_RECT); GLES20.glUniformMatrix4fv(params[INDEX_TEXTURE_MATRIX].handle, 1, false, textureMatrix, 0); checkError(); + if (texture.isFlippedVertically()) { + save(SAVE_FLAG_MATRIX); + translate(0, target.centerY()); + scale(1, -1, 1); + translate(0, -target.centerY()); + } draw(params, GLES20.GL_TRIANGLE_STRIP, COUNT_FILL_VERTEX, target.left, target.top, target.width(), target.height()); + if (texture.isFlippedVertically()) { + restore(); + } mCountTextureRect++; } diff --git a/src/com/android/gallery3d/glrenderer/RawTexture.java b/src/com/android/gallery3d/glrenderer/RawTexture.java index 74538995b..93f0fdff9 100644 --- a/src/com/android/gallery3d/glrenderer/RawTexture.java +++ b/src/com/android/gallery3d/glrenderer/RawTexture.java @@ -24,6 +24,7 @@ public class RawTexture extends BasicTexture { private static final String TAG = "RawTexture"; private final boolean mOpaque; + private boolean mIsFlipped; public RawTexture(int width, int height, boolean opaque) { mOpaque = opaque; @@ -35,6 +36,15 @@ public class RawTexture extends BasicTexture { return mOpaque; } + @Override + public boolean isFlippedVertically() { + return mIsFlipped; + } + + public void setIsFlippedVertically(boolean isFlipped) { + mIsFlipped = isFlipped; + } + protected void prepare(GLCanvas canvas) { GLId glId = canvas.getGLId(); mId = glId.generateTexture(); |