aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickcanvas.cpp
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.p.agocs@nokia.com>2012-05-02 14:15:13 +0300
committerQt by Nokia <qt-info@nokia.com>2012-05-02 13:38:30 +0200
commitd815e111799877b3d1e77ebe0650040e311d2ded (patch)
treeb9262aa2e30f4223f86fc8f31b37e2449c61ecc5 /src/quick/items/qquickcanvas.cpp
parentd5fb8a5cd4c547b88af43536b705cd87f13e96e0 (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.cpp4
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());