tests/manual/gestures/graphicsview/mousepangesturerecognizer.cpp
changeset 3 41300fa6a67c
parent 0 1918ee327afb
child 4 3b1da2848fc7
--- a/tests/manual/gestures/graphicsview/mousepangesturerecognizer.cpp	Tue Jan 26 12:42:25 2010 +0200
+++ b/tests/manual/gestures/graphicsview/mousepangesturerecognizer.cpp	Tue Feb 02 00:43:10 2010 +0200
@@ -51,12 +51,12 @@
 {
 }
 
-QGesture* MousePanGestureRecognizer::createGesture(QObject *)
+QGesture* MousePanGestureRecognizer::create(QObject *)
 {
     return new QPanGesture;
 }
 
-QGestureRecognizer::Result MousePanGestureRecognizer::filterEvent(QGesture *state, QObject *, QEvent *event)
+QGestureRecognizer::Result MousePanGestureRecognizer::recognize(QGesture *state, QObject *, QEvent *event)
 {
     QPanGesture *g = static_cast<QPanGesture *>(state);
     QPoint globalPos;
@@ -78,23 +78,19 @@
     if (event->type() == QEvent::MouseButtonPress || event->type() == QEvent::MouseButtonDblClick
         || event->type() == QEvent::GraphicsSceneMousePress || event->type() == QEvent::GraphicsSceneMouseDoubleClick) {
         g->setHotSpot(globalPos);
-        g->setProperty("lastPos", globalPos);
+        g->setProperty("startPos", globalPos);
         g->setProperty("pressed", QVariant::fromValue<bool>(true));
-        return QGestureRecognizer::GestureTriggered | QGestureRecognizer::ConsumeEventHint;
+        return QGestureRecognizer::TriggerGesture | QGestureRecognizer::ConsumeEventHint;
     } else if (event->type() == QEvent::MouseMove || event->type() == QEvent::GraphicsSceneMouseMove) {
         if (g->property("pressed").toBool()) {
-            QPoint pos = globalPos;
-            QPoint lastPos = g->property("lastPos").toPoint();
+            QPoint offset = globalPos - g->property("startPos").toPoint();
             g->setLastOffset(g->offset());
-            lastPos = pos - lastPos;
-            g->setOffset(QPointF(lastPos.x(), lastPos.y()));
-            g->setTotalOffset(g->totalOffset() + QPointF(lastPos.x(), lastPos.y()));
-            g->setProperty("lastPos", pos);
-            return QGestureRecognizer::GestureTriggered | QGestureRecognizer::ConsumeEventHint;
+            g->setOffset(QPointF(offset.x(), offset.y()));
+            return QGestureRecognizer::TriggerGesture | QGestureRecognizer::ConsumeEventHint;
         }
-        return QGestureRecognizer::NotGesture;
+        return QGestureRecognizer::CancelGesture;
     } else if (event->type() == QEvent::MouseButtonRelease || event->type() == QEvent::GraphicsSceneMouseRelease) {
-        return QGestureRecognizer::GestureFinished | QGestureRecognizer::ConsumeEventHint;
+        return QGestureRecognizer::FinishGesture | QGestureRecognizer::ConsumeEventHint;
     }
     return QGestureRecognizer::Ignore;
 }
@@ -102,11 +98,10 @@
 void MousePanGestureRecognizer::reset(QGesture *state)
 {
     QPanGesture *g = static_cast<QPanGesture *>(state);
-    g->setTotalOffset(QPointF());
     g->setLastOffset(QPointF());
     g->setOffset(QPointF());
     g->setAcceleration(0);
-    g->setProperty("lastPos", QVariant());
+    g->setProperty("startPos", QVariant());
     g->setProperty("pressed", QVariant::fromValue<bool>(false));
     QGestureRecognizer::reset(state);
 }