diff options
author | Jeff Brown <jeffbrown@android.com> | 2011-06-08 13:52:22 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2011-06-08 13:52:22 -0700 |
commit | 5f0b1721eece5ca614044cda638f11fbec0eab0a (patch) | |
tree | 14999abb06df519af7ed6a74119bb7723c31ec90 /services | |
parent | a558fdf156601a477964139fee57da29de7f31b3 (diff) | |
parent | 25bd8abce993e17b382ea5c29a1cb68dd095cf45 (diff) | |
download | frameworks_base-5f0b1721eece5ca614044cda638f11fbec0eab0a.zip frameworks_base-5f0b1721eece5ca614044cda638f11fbec0eab0a.tar.gz frameworks_base-5f0b1721eece5ca614044cda638f11fbec0eab0a.tar.bz2 |
am 25bd8abc: Merge "Fix swipe gesture cosine calculation. Bug: 4124987" into honeycomb-mr2
* commit '25bd8abce993e17b382ea5c29a1cb68dd095cf45':
Fix swipe gesture cosine calculation. Bug: 4124987
Diffstat (limited to 'services')
-rw-r--r-- | services/input/InputReader.cpp | 6 | ||||
-rw-r--r-- | services/input/InputReader.h | 2 |
2 files changed, 6 insertions, 2 deletions
diff --git a/services/input/InputReader.cpp b/services/input/InputReader.cpp index ce8a939..1ed5ad7 100644 --- a/services/input/InputReader.cpp +++ b/services/input/InputReader.cpp @@ -3940,7 +3940,11 @@ bool TouchInputMapper::preparePointerGestures(nsecs_t when, // approches 1.0. Recall that dot(v1, v2) = cos(angle) * mag(v1) * mag(v2). PointerGesture::Delta& delta1 = mPointerGesture.referenceDeltas[id1]; PointerGesture::Delta& delta2 = mPointerGesture.referenceDeltas[id2]; - float dot = delta1.dx * delta2.dx + delta1.dy * delta2.dy; + float dx1 = delta1.dx * mLocked.pointerGestureXZoomScale; + float dy1 = delta1.dy * mLocked.pointerGestureYZoomScale; + float dx2 = delta2.dx * mLocked.pointerGestureXZoomScale; + float dy2 = delta2.dy * mLocked.pointerGestureYZoomScale; + float dot = dx1 * dx2 + dy1 * dy2; float cosine = dot / (dist1 * dist2); // denominator always > 0 if (cosine >= mConfig->pointerGestureSwipeTransitionAngleCosine) { // Pointers are moving in the same direction. Switch to SWIPE. diff --git a/services/input/InputReader.h b/services/input/InputReader.h index 82faf7d..fa3239c 100644 --- a/services/input/InputReader.h +++ b/services/input/InputReader.h @@ -143,7 +143,7 @@ struct InputReaderConfiguration { pointerGestureTapSlop(10.0f), // 10 pixels pointerGestureMultitouchSettleInterval(100 * 1000000LL), // 100 ms pointerGestureMultitouchMinDistance(15), // 15 pixels - pointerGestureSwipeTransitionAngleCosine(0.5f), // cosine of 45degrees + pointerGestureSwipeTransitionAngleCosine(0.2588f), // cosine of 75 degrees pointerGestureSwipeMaxWidthRatio(0.25f), pointerGestureMovementSpeedRatio(0.8f), pointerGestureZoomSpeedRatio(0.3f) { } |