diff options
author | John Hoford <hoford@google.com> | 2013-02-21 15:18:37 -0800 |
---|---|---|
committer | John Hoford <hoford@google.com> | 2013-02-21 15:19:49 -0800 |
commit | c67da3cdf3cc655a384d9d591fee051fdafb4630 (patch) | |
tree | d94130e4cf16a89b1f89881eedf2fdb710b749ba /src/com/android/gallery3d/filtershow/imageshow/ImageVignette.java | |
parent | 8ae11144fc1fc15062297d03fb86d6bfb443953a (diff) | |
download | android_packages_apps_Snap-c67da3cdf3cc655a384d9d591fee051fdafb4630.tar.gz android_packages_apps_Snap-c67da3cdf3cc655a384d9d591fee051fdafb4630.tar.bz2 android_packages_apps_Snap-c67da3cdf3cc655a384d9d591fee051fdafb4630.zip |
fix draw and ellipse to handle pinch to zoom
Change-Id: I8af9b37dcd98425959742a4142756963363d1cec
Diffstat (limited to 'src/com/android/gallery3d/filtershow/imageshow/ImageVignette.java')
-rw-r--r-- | src/com/android/gallery3d/filtershow/imageshow/ImageVignette.java | 37 |
1 files changed, 24 insertions, 13 deletions
diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageVignette.java b/src/com/android/gallery3d/filtershow/imageshow/ImageVignette.java index 729ac7f41..a51d10276 100644 --- a/src/com/android/gallery3d/filtershow/imageshow/ImageVignette.java +++ b/src/com/android/gallery3d/filtershow/imageshow/ImageVignette.java @@ -20,6 +20,7 @@ import android.content.Context; import android.graphics.Canvas; import android.graphics.Matrix; import android.util.AttributeSet; +import android.util.Log; import android.view.MotionEvent; import com.android.gallery3d.filtershow.editors.EditorVignette; @@ -48,16 +49,28 @@ public class ImageVignette extends ImageShow { @Override public boolean onTouchEvent(MotionEvent event) { int mask = event.getActionMasked(); - if (MotionEvent.ACTION_UP == mask) { - mActiveHandle = -1; - } - if (MotionEvent.ACTION_DOWN == mask && event.getPointerCount() == 1) { - mActiveHandle = mElipse.getCloseHandle(event.getX(), event.getY()); - } - if (mActiveHandle == -1 || event.getPointerCount() > 1) { - mActiveHandle = -1; - - return super.onTouchEvent(event); + if (mActiveHandle == -1) { + if (MotionEvent.ACTION_DOWN != mask) { + return super.onTouchEvent(event); + } + if (event.getPointerCount() == 1) { + mActiveHandle = mElipse.getCloseHandle(event.getX(), event.getY()); + } + if (mActiveHandle == -1) { + return super.onTouchEvent(event); + } + } else { + switch (mask) { + case MotionEvent.ACTION_UP: + mActiveHandle = -1; + break; + case MotionEvent.ACTION_DOWN: + if (event.getPointerCount() == 1) { + Log.v(LOGTAG, "################### ACTION_DOWN odd " + mActiveHandle + + " touches=1"); + } + break; + } } float x = event.getX(); float y = event.getY(); @@ -121,9 +134,7 @@ public class ImageVignette extends ImageShow { @Override public void onDraw(Canvas canvas) { super.onDraw(canvas); - if (mElipse.isUndefined()) { - setRepresentation(mVignetteRep); - } + setRepresentation(mVignetteRep); mElipse.draw(canvas); } |