diff options
author | Laszlo Agocs <laszlo.p.agocs@nokia.com> | 2012-05-02 14:15:13 +0300 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-05-02 13:38:30 +0200 |
commit | d815e111799877b3d1e77ebe0650040e311d2ded (patch) | |
tree | b9262aa2e30f4223f86fc8f31b37e2449c61ecc5 /src/quick/items/qquickcanvas.cpp | |
parent | d5fb8a5cd4c547b88af43536b705cd87f13e96e0 (diff) |
Transform the velocity taken from touch event
Change-Id: Ib90531f4526fad0c51b2f2e1e7c5ebcff4f5dec8
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'src/quick/items/qquickcanvas.cpp')
-rw-r--r-- | src/quick/items/qquickcanvas.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/quick/items/qquickcanvas.cpp b/src/quick/items/qquickcanvas.cpp index 11b304d1e1..17f9947b66 100644 --- a/src/quick/items/qquickcanvas.cpp +++ b/src/quick/items/qquickcanvas.cpp @@ -469,11 +469,13 @@ void QQuickCanvasPrivate::translateTouchToMouse(QTouchEvent *event) void QQuickCanvasPrivate::transformTouchPoints(QList<QTouchEvent::TouchPoint> &touchPoints, const QTransform &transform) { + QMatrix4x4 transformMatrix(transform); for (int i=0; i<touchPoints.count(); i++) { QTouchEvent::TouchPoint &touchPoint = touchPoints[i]; touchPoint.setRect(transform.mapRect(touchPoint.sceneRect())); touchPoint.setStartPos(transform.map(touchPoint.startScenePos())); touchPoint.setLastPos(transform.map(touchPoint.lastScenePos())); + touchPoint.setVelocity(transformMatrix.mapVector(touchPoint.velocity()).toVector2D()); } } @@ -1133,7 +1135,7 @@ bool QQuickCanvasPrivate::deliverMouseEvent(QMouseEvent *event) event->button(), event->buttons(), event->modifiers()); QQuickMouseEventEx *eventEx = QQuickMouseEventEx::extended(event); if (eventEx) { - me.setVelocity(eventEx->velocity()); + me.setVelocity(QMatrix4x4(transform).mapVector(eventEx->velocity()).toVector2D()); me.setCapabilities(eventEx->capabilities()); } me.setTimestamp(event->timestamp()); |