summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorge Mount <mount@google.com>2013-01-13 14:39:29 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-01-13 14:39:30 -0800
commita9de8750056fb8bacaafd9706e9e2320cbe0cbe1 (patch)
treea0d82d2f3f03538aaed82915073ad08aeb5699e7
parentb146af084f43e6b87ad34ac9bf94b18aa36a46aa (diff)
parent5a4285d3ef0e05f817c45456217546f4f2f00d75 (diff)
downloadandroid_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.java4
-rw-r--r--src/com/android/gallery3d/glrenderer/GLES20Canvas.java9
-rw-r--r--src/com/android/gallery3d/glrenderer/RawTexture.java10
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();