From 94202ecf77d68ca7ed1b0adfe3b37daf6851e39d Mon Sep 17 00:00:00 2001 From: nicolasroard Date: Sat, 16 Mar 2013 14:27:22 -0700 Subject: [PATCH] Improves double-tap and comparison mechanism Change-Id: I1fda50d7d179703db9e0e525550018c259233e89 --- .../gallery3d/filtershow/imageshow/ImageShow.java | 21 +++++++++------------ .../gallery3d/filtershow/imageshow/MasterImage.java | 5 ++++- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java b/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java index 0ed8c3c29..2de37f6fe 100644 --- a/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java +++ b/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java @@ -578,17 +578,15 @@ public class ImageShow extends View implements OnGestureListener, mTouch.x = ex; mTouch.y = ey; - if (!ENABLE_COMPARISON || event.getPointerCount() == 2) { - float scaleFactor = MasterImage.getImage().getScaleFactor(); - if (scaleFactor >= 1) { - float translateX = (mTouch.x - mTouchDown.x) / scaleFactor; - float translateY = (mTouch.y - mTouchDown.y) / scaleFactor; - Point originalTranslation = MasterImage.getImage().getOriginalTranslation(); - Point translation = MasterImage.getImage().getTranslation(); - translation.x = (int) (originalTranslation.x + translateX); - translation.y = (int) (originalTranslation.y + translateY); - MasterImage.getImage().setTranslation(translation); - } + float scaleFactor = MasterImage.getImage().getScaleFactor(); + if (scaleFactor > 1 && (!ENABLE_COMPARISON || event.getPointerCount() == 2)) { + float translateX = (mTouch.x - mTouchDown.x) / scaleFactor; + float translateY = (mTouch.y - mTouchDown.y) / scaleFactor; + Point originalTranslation = MasterImage.getImage().getOriginalTranslation(); + Point translation = MasterImage.getImage().getTranslation(); + translation.x = (int) (originalTranslation.x + translateX); + translation.y = (int) (originalTranslation.y + translateY); + MasterImage.getImage().setTranslation(translation); mTouchShowOriginal = false; } else if (!mOriginalDisabled && !mActivity.isShowingHistoryPanel() && (System.currentTimeMillis() - mTouchShowOriginalDate @@ -627,7 +625,6 @@ public class ImageShow extends View implements OnGestureListener, } if (scale != MasterImage.getImage().getScaleFactor()) { MasterImage.getImage().setScaleFactor(scale); - MasterImage.getImage().needsUpdateFullResPreview(); invalidate(); } return true; diff --git a/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java b/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java index 4f9c450de..680d1f7d2 100644 --- a/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java +++ b/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java @@ -461,8 +461,11 @@ public class MasterImage implements RenderingRequestCaller { } public void setScaleFactor(float scaleFactor) { + if (scaleFactor == mScaleFactor) { + return; + } mScaleFactor = scaleFactor; - needsUpdateFullResPreview(); + invalidatePartialPreview(); } public Point getTranslation() { -- 2.11.0