diff options
author | nicolasroard <nicolasroard@google.com> | 2013-03-05 17:09:26 -0800 |
---|---|---|
committer | nicolasroard <nicolasroard@google.com> | 2013-03-05 17:09:26 -0800 |
commit | e287f5b9af06ffbf7fcddd97342d140df921f75a (patch) | |
tree | a22cf111d634668ad155e262eba71707414ed3a1 /src/com | |
parent | 542c3832c24909c6f43b9b91fed4931a850b2fef (diff) | |
download | android_packages_apps_Snap-e287f5b9af06ffbf7fcddd97342d140df921f75a.tar.gz android_packages_apps_Snap-e287f5b9af06ffbf7fcddd97342d140df921f75a.tar.bz2 android_packages_apps_Snap-e287f5b9af06ffbf7fcddd97342d140df921f75a.zip |
Implements double-tap to zoom
Change-Id: I716d847d6320504c963b197f11b0deea1fc338cb
Diffstat (limited to 'src/com')
-rw-r--r-- | src/com/android/gallery3d/filtershow/imageshow/ImageShow.java | 18 | ||||
-rw-r--r-- | src/com/android/gallery3d/filtershow/imageshow/MasterImage.java | 9 |
2 files changed, 23 insertions, 4 deletions
diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java b/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java index 1edfd79a1..f44e6f5a7 100644 --- a/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java +++ b/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java @@ -81,6 +81,7 @@ public class ImageShow extends View implements OnGestureListener, private static int mOriginalTextMargin = 8; private static int mOriginalTextSize = 26; private static String mOriginalText = "Original"; + private boolean mZoomIn = false; protected GeometryMetadata getGeometry() { return new GeometryMetadata(getImagePreset().mGeoData); @@ -603,8 +604,17 @@ public class ImageShow extends View implements OnGestureListener, @Override public boolean onDoubleTap(MotionEvent arg0) { - // TODO Auto-generated method stub - return false; + mZoomIn = !mZoomIn; + float scale = 1.0f; + if (mZoomIn) { + scale = MasterImage.getImage().getMaxScaleFactor(); + } + if (scale != MasterImage.getImage().getScaleFactor()) { + MasterImage.getImage().setScaleFactor(scale); + MasterImage.getImage().needsUpdateFullResPreview(); + invalidate(); + } + return true; } @Override @@ -679,8 +689,8 @@ public class ImageShow extends View implements OnGestureListener, public boolean onScale(ScaleGestureDetector detector) { float scaleFactor = MasterImage.getImage().getScaleFactor(); scaleFactor = scaleFactor * detector.getScaleFactor(); - if (scaleFactor > 2) { - scaleFactor = 2; + if (scaleFactor > MasterImage.getImage().getMaxScaleFactor()) { + scaleFactor = MasterImage.getImage().getMaxScaleFactor(); } if (scaleFactor < 0.5) { scaleFactor = 0.5f; diff --git a/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java b/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java index 209c3bdb9..6d47c9176 100644 --- a/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java +++ b/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java @@ -66,6 +66,7 @@ public class MasterImage implements RenderingRequestCaller { private GeometryMetadata mPreviousGeometry = null; private float mScaleFactor = 1.0f; + private float mMaxScaleFactor = 3.0f; // TODO: base this on the current view / image private Point mTranslation = new Point(); private Point mOriginalTranslation = new Point(); @@ -491,4 +492,12 @@ public class MasterImage implements RenderingRequestCaller { public Bitmap getThumbnailBitmap() { return mThumbnailBitmap; } + + public float getMaxScaleFactor() { + return mMaxScaleFactor; + } + + public void setMaxScaleFactor(float maxScaleFactor) { + mMaxScaleFactor = maxScaleFactor; + } } |