summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d
diff options
context:
space:
mode:
authorJohn Hoford <hoford@google.com>2013-05-29 00:51:35 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-05-29 00:51:35 +0000
commit45849dc5f3bd76ab28452898d68e524792252dc8 (patch)
tree8d450db5be2bbeb1d31e0b80339e0417b886b27f /src/com/android/gallery3d
parent96ba2fbe1ad0e29673eaf5ceaa1ca256239dedac (diff)
parent723cd37ea7da0cf6f7264007b271683613ce2f47 (diff)
downloadandroid_packages_apps_Snap-45849dc5f3bd76ab28452898d68e524792252dc8.tar.gz
android_packages_apps_Snap-45849dc5f3bd76ab28452898d68e524792252dc8.tar.bz2
android_packages_apps_Snap-45849dc5f3bd76ab28452898d68e524792252dc8.zip
Merge "zoom to center of double tap" into gb-ub-photos-carlsbad
Diffstat (limited to 'src/com/android/gallery3d')
-rw-r--r--src/com/android/gallery3d/filtershow/imageshow/ImageShow.java23
-rw-r--r--src/com/android/gallery3d/filtershow/imageshow/MasterImage.java2
2 files changed, 24 insertions, 1 deletions
diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java b/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java
index 4e59a5f04..b06090127 100644
--- a/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java
+++ b/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java
@@ -593,6 +593,7 @@ public class ImageShow extends View implements OnGestureListener,
Point translation = MasterImage.getImage().getTranslation();
translation.x = (int) (originalTranslation.x + translateX);
translation.y = (int) (originalTranslation.y + translateY);
+ constrainTranslation(translation, scaleFactor);
MasterImage.getImage().setTranslation(translation);
mTouchShowOriginal = false;
} else if (enableComparison() && !mOriginalDisabled
@@ -637,11 +638,32 @@ public class ImageShow extends View implements OnGestureListener,
}
if (scale != MasterImage.getImage().getScaleFactor()) {
MasterImage.getImage().setScaleFactor(scale);
+ float translateX = (getWidth() / 2 - arg0.getX());
+ float translateY = (getHeight() / 2 - arg0.getY());
+ Point translation = MasterImage.getImage().getTranslation();
+ translation.x = (int) (mOriginalTranslation.x + translateX);
+ translation.y = (int) (mOriginalTranslation.y + translateY);
+ constrainTranslation(translation, scale);
+ MasterImage.getImage().setTranslation(translation);
invalidate();
}
return true;
}
+ private void constrainTranslation(Point translation, float scale) {
+ float maxTranslationX = getWidth() / scale;
+ float maxTranslationY = getHeight() / scale;
+ if (Math.abs(translation.x) > maxTranslationX) {
+ translation.x = (int) (Math.signum(translation.x) *
+ maxTranslationX);
+ if (Math.abs(translation.y) > maxTranslationY) {
+ translation.y = (int) (Math.signum(translation.y) *
+ maxTranslationY);
+ }
+
+ }
+ }
+
@Override
public boolean onDoubleTapEvent(MotionEvent arg0) {
// TODO Auto-generated method stub
@@ -724,6 +746,7 @@ public class ImageShow extends View implements OnGestureListener,
Point translation = MasterImage.getImage().getTranslation();
translation.x = (int) (mOriginalTranslation.x + translateX);
translation.y = (int) (mOriginalTranslation.y + translateY);
+ constrainTranslation(translation, scaleFactor);
MasterImage.getImage().setTranslation(translation);
invalidate();
diff --git a/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java b/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java
index ab8567f56..8f490ca5e 100644
--- a/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java
+++ b/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java
@@ -35,7 +35,7 @@ public class MasterImage implements RenderingRequestCaller {
private static final String LOGTAG = "MasterImage";
private boolean DEBUG = false;
- private static final boolean DISABLEZOOM = true;
+ private static final boolean DISABLEZOOM = false;
private static MasterImage sMasterImage = null;
private static int sIconSeedSize = 128;
private static float sHistoryPreviewSize = 128.0f;