From b973eef289ee0315dbae147eccb1915d3ed08f43 Mon Sep 17 00:00:00 2001 From: Romain Guy Date: Tue, 16 Jun 2009 15:53:27 -0700 Subject: [PATCH] Fixes #1899284 and #1899287. Give applications more control over the gesture's path. This change adds new APIs to control the gesture's path by deciding whether the path should be drawn and by getting the ability to get the Path itself and draw it differently. --- .../android/gesture/GestureOverlayView.java | 36 ++++++++++++++----- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/core/java/android/gesture/GestureOverlayView.java b/core/java/android/gesture/GestureOverlayView.java index fd6d850d9abe3..14323b81874d4 100755 --- a/core/java/android/gesture/GestureOverlayView.java +++ b/core/java/android/gesture/GestureOverlayView.java @@ -84,6 +84,7 @@ public class GestureOverlayView extends FrameLayout { private final Rect mInvalidRect = new Rect(); private final Path mPath = new Path(); + private boolean mGestureVisible; private float mX; private float mY; @@ -274,14 +275,6 @@ public class GestureOverlayView extends FrameLayout { return mCurrentGesture; } - public long getFadeOffset() { - return mFadeOffset; - } - - public void setFadeOffset(long fadeOffset) { - mFadeOffset = fadeOffset; - } - public void setGesture(Gesture gesture) { if (mCurrentGesture != null) { clear(false); @@ -304,6 +297,31 @@ public class GestureOverlayView extends FrameLayout { invalidate(); } + public Path getGesturePath() { + return mPath; + } + + public Path getGesturePath(Path path) { + path.set(mPath); + return path; + } + + public boolean isGestureVisible() { + return mGestureVisible; + } + + public void setGestureVisible(boolean visible) { + mGestureVisible = visible; + } + + public long getFadeOffset() { + return mFadeOffset; + } + + public void setFadeOffset(long fadeOffset) { + mFadeOffset = fadeOffset; + } + public void addOnGestureListener(OnGestureListener listener) { mOnGestureListeners.add(listener); } @@ -372,7 +390,7 @@ public class GestureOverlayView extends FrameLayout { public void draw(Canvas canvas) { super.draw(canvas); - if (mCurrentGesture != null) { + if (mCurrentGesture != null && mGestureVisible) { canvas.drawPath(mPath, mGesturePaint); } }