summaryrefslogtreecommitdiff
path: root/services/input/InputReader.cpp
diff options
context:
space:
mode:
author Jeff Brown <jeffbrown@android.com> 2011-06-07 16:58:06 -0700
committer Android (Google) Code Review <android-gerrit@google.com> 2011-06-07 16:58:06 -0700
commit25bd8abce993e17b382ea5c29a1cb68dd095cf45 (patch)
tree61551a3b6e8fe17af45b20a223a43e4bb2c83bb6 /services/input/InputReader.cpp
parent68b81434963db90e0d5b14710e4edd86084ede3c (diff)
parent6674d9bf0a53387df0cf8482458cf5f9ab274ec0 (diff)
Merge "Fix swipe gesture cosine calculation. Bug: 4124987" into honeycomb-mr2
Diffstat (limited to 'services/input/InputReader.cpp')
-rw-r--r--services/input/InputReader.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/services/input/InputReader.cpp b/services/input/InputReader.cpp
index ce8a939742ad..1ed5ad729fc2 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.