diff options
author | Denis Dzyubenko <denis.dzyubenko@nokia.com> | 2009-11-04 14:37:45 +0100 |
---|---|---|
committer | Denis Dzyubenko <denis.dzyubenko@nokia.com> | 2009-11-05 12:54:43 +0100 |
commit | 847be4eadc3bfc92daad728ce9f70e658e380556 (patch) | |
tree | 80c260288d06d4acf988c1c4140d02f1c980ee2e | |
parent | 70c1c87a3df52e510413c3e8512d9e55df00e7bd (diff) |
Improved pinch gesture.
Made sure we emit the same values for the pinch gesture as on Mac.
Reviewed-by: trustme
-rw-r--r-- | src/gui/kernel/qstandardgestures.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/gui/kernel/qstandardgestures.cpp b/src/gui/kernel/qstandardgestures.cpp index 79346eddd7..a0055a1956 100644 --- a/src/gui/kernel/qstandardgestures.cpp +++ b/src/gui/kernel/qstandardgestures.cpp @@ -216,7 +216,13 @@ QGestureRecognizer::Result QPinchGestureRecognizer::recognize(QGesture *state, d->totalScaleFactor += d->scaleFactor - d->lastScaleFactor; d->changeFlags |= QPinchGesture::ScaleFactorChanged; - const qreal rotationAngle = -line.angle(); + qreal angle = QLineF(p1.screenPos(), p2.screenPos()).angle(); + if (angle > 180) + angle -= 360; + qreal startAngle = QLineF(p1.startScreenPos(), p2.startScreenPos()).angle(); + if (startAngle > 180) + startAngle -= 360; + const qreal rotationAngle = startAngle - angle; if (d->isNewSequence) d->lastRotationAngle = rotationAngle; else |