diff options
author | John Hoford <hoford@google.com> | 2013-05-29 00:51:35 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-05-29 00:51:35 +0000 |
commit | 45849dc5f3bd76ab28452898d68e524792252dc8 (patch) | |
tree | 8d450db5be2bbeb1d31e0b80339e0417b886b27f /src/com/android/gallery3d | |
parent | 96ba2fbe1ad0e29673eaf5ceaa1ca256239dedac (diff) | |
parent | 723cd37ea7da0cf6f7264007b271683613ce2f47 (diff) | |
download | android_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.java | 23 | ||||
-rw-r--r-- | src/com/android/gallery3d/filtershow/imageshow/MasterImage.java | 2 |
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; |