diff options
author | Denis Dzyubenko <denis.dzyubenko@nokia.com> | 2009-08-05 16:57:25 (GMT) |
---|---|---|
committer | Denis Dzyubenko <denis.dzyubenko@nokia.com> | 2009-08-10 12:21:44 (GMT) |
commit | 6826490774d66e0470fc1e5848ab89b3a0d0bb86 (patch) | |
tree | 553656766c1625ca837e3d07f59f77e6f3461ace /src/gui/kernel/qstandardgestures.h | |
parent | 47f58dfad1eb7fe61a523597023df33f3d320377 (diff) | |
download | Qt-6826490774d66e0470fc1e5848ab89b3a0d0bb86.zip Qt-6826490774d66e0470fc1e5848ab89b3a0d0bb86.tar.gz Qt-6826490774d66e0470fc1e5848ab89b3a0d0bb86.tar.bz2 |
Implemented QPinchGesture.
Added a new standard gesture, which is implemented using a native zoom and
rotate gestures on Windows and with a direct touch event handling on other
platforms.
Improved pan support - we subscribe to native pan gesture only when it's really
needed, and we pass proper flags for single finger horizontal/vertical panning.
Reviewed-by: Richard Moe Gustavsen
Diffstat (limited to 'src/gui/kernel/qstandardgestures.h')
-rw-r--r-- | src/gui/kernel/qstandardgestures.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/gui/kernel/qstandardgestures.h b/src/gui/kernel/qstandardgestures.h index 03a1374..adee740 100644 --- a/src/gui/kernel/qstandardgestures.h +++ b/src/gui/kernel/qstandardgestures.h @@ -80,6 +80,45 @@ private: friend class QWidget; }; +class QPinchGesturePrivate; +class Q_GUI_EXPORT QPinchGesture : public QGesture +{ + Q_OBJECT + Q_DECLARE_PRIVATE(QPinchGesture) + + Q_PROPERTY(qreal scaleFactor READ scaleFactor) + Q_PROPERTY(qreal lastScaleFactor READ lastScaleFactor) + + Q_PROPERTY(qreal rotationAngle READ rotationAngle) + Q_PROPERTY(qreal lastRotationAngle READ lastRotationAngle) + + Q_PROPERTY(QPoint startCenterPoint READ startCenterPoint) + Q_PROPERTY(QPoint lastCenterPoint READ lastCenterPoint) + Q_PROPERTY(QPoint centerPoint READ centerPoint) + +public: + QPinchGesture(QWidget *parent); + + bool filterEvent(QEvent *event); + void reset(); + + QPoint startCenterPoint() const; + QPoint lastCenterPoint() const; + QPoint centerPoint() const; + + qreal scaleFactor() const; + qreal lastScaleFactor() const; + + qreal rotationAngle() const; + qreal lastRotationAngle() const; + +private: + bool event(QEvent *event); + bool eventFilter(QObject *receiver, QEvent *event); + + friend class QWidget; +}; + QT_END_NAMESPACE QT_END_HEADER |