diff options
author | Doris Liu <tianliu@google.com> | 2013-05-14 14:37:46 -0700 |
---|---|---|
committer | Doris Liu <tianliu@google.com> | 2013-05-31 13:52:18 -0700 |
commit | fb57df15a87f95ce8b2f861e54d960602912e03c (patch) | |
tree | bc9165e3e455767399ca9168503879e538e708ac /src/com/android/camera/ui/RenderOverlay.java | |
parent | f464958e6bc926e0c4a776d11a9f2aa8514a866f (diff) | |
download | android_packages_apps_Snap-fb57df15a87f95ce8b2f861e54d960602912e03c.tar.gz android_packages_apps_Snap-fb57df15a87f95ce8b2f861e54d960602912e03c.tar.bz2 android_packages_apps_Snap-fb57df15a87f95ce8b2f861e54d960602912e03c.zip |
Improve gesture handling
Change-Id: Ib1e18274480b6bb681bd06f3130f9b9ea198ea98
Diffstat (limited to 'src/com/android/camera/ui/RenderOverlay.java')
-rw-r--r-- | src/com/android/camera/ui/RenderOverlay.java | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/com/android/camera/ui/RenderOverlay.java b/src/com/android/camera/ui/RenderOverlay.java index ba2591511..0bda10a23 100644 --- a/src/com/android/camera/ui/RenderOverlay.java +++ b/src/com/android/camera/ui/RenderOverlay.java @@ -23,6 +23,8 @@ import android.view.MotionEvent; import android.view.View; import android.widget.FrameLayout; +import com.android.camera.NewPreviewGestures; + import java.util.ArrayList; import java.util.List; @@ -42,7 +44,7 @@ public class RenderOverlay extends FrameLayout { private RenderView mRenderView; private List<Renderer> mClients; - + private NewPreviewGestures mGestures; // reverse list of touch clients private List<Renderer> mTouchClients; private int[] mPosition = new int[2]; @@ -57,6 +59,10 @@ public class RenderOverlay extends FrameLayout { setWillNotDraw(false); } + public void setGestures(NewPreviewGestures gestures) { + mGestures = gestures; + } + public void addRenderer(Renderer renderer) { mClients.add(renderer); renderer.setOverlay(this); @@ -83,12 +89,13 @@ public class RenderOverlay extends FrameLayout { @Override public boolean dispatchTouchEvent(MotionEvent m) { - return false; + if (mGestures != null) mGestures.dispatchTouch(m); + return true; } public boolean directDispatchTouch(MotionEvent m, Renderer target) { mRenderView.setTouchTarget(target); - boolean res = super.dispatchTouchEvent(m); + boolean res = mRenderView.dispatchTouchEvent(m); mRenderView.setTouchTarget(null); return res; } @@ -123,7 +130,8 @@ public class RenderOverlay extends FrameLayout { } @Override - public boolean onTouchEvent(MotionEvent evt) { + public boolean dispatchTouchEvent(MotionEvent evt) { + if (mTouchTarget != null) { return mTouchTarget.onTouchEvent(evt); } |