diff options
author | Shawn Rutledge <shawn.rutledge@qt.io> | 2016-08-05 15:04:03 +0200 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@qt.io> | 2016-08-05 13:19:26 +0000 |
commit | 43db88a5c5614bcab212be1e4703e001f1fbb295 (patch) | |
tree | 2f586c80c4d9d78c584c04832d0d44a2d03d2c03 /src | |
parent | 796b0cf366a6e6ab53fcb096e442261865ca397b (diff) |
QQuickEventPoint: replace Qt::TouchPointState with State enum
This allows extension later on, and makes it clear that the state is
for any kind of point, not just a touchpoint.
Change-Id: I1f8aaa01ea65ac1731645129fedcf7a51ee66e77
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/quick/items/qquickevents.cpp | 8 | ||||
-rw-r--r-- | src/quick/items/qquickevents_p_p.h | 15 | ||||
-rw-r--r-- | src/quick/items/qquickwindow.cpp | 2 |
3 files changed, 17 insertions, 8 deletions
diff --git a/src/quick/items/qquickevents.cpp b/src/quick/items/qquickevents.cpp index b6e2299f3a..8d8c58beaa 100644 --- a/src/quick/items/qquickevents.cpp +++ b/src/quick/items/qquickevents.cpp @@ -509,7 +509,7 @@ void QQuickEventPoint::reset(Qt::TouchPointState state, QPointF scenePos, quint6 m_pointId = pointId; m_valid = true; m_accept = false; - m_state = state; + m_state = static_cast<QQuickEventPoint::State>(state); m_timestamp = timestamp; if (state == Qt::TouchPointPressed) m_pressTimestamp = timestamp; @@ -636,7 +636,7 @@ QQuickEventPoint *QQuickPointerTouchEvent::point(int i) const { QQuickEventPoint::QQuickEventPoint(QQuickPointerEvent *parent) : QObject(parent), m_pointId(0), m_grabber(nullptr), m_timestamp(0), m_pressTimestamp(0), - m_state(Qt::TouchPointReleased), m_valid(false), m_accept(false) + m_state(QQuickEventPoint::Released), m_valid(false), m_accept(false) { Q_UNUSED(m_reserved); } @@ -711,7 +711,7 @@ QVector<QPointF> QQuickPointerEvent::unacceptedPressedPointScenePositions() cons { QVector<QPointF> points; for (int i = 0; i < pointCount(); ++i) { - if (!point(i)->isAccepted() && point(i)->state() == Qt::TouchPointPressed) + if (!point(i)->isAccepted() && point(i)->state() == QQuickEventPoint::Pressed) points << point(i)->scenePos(); } return points; @@ -823,7 +823,7 @@ QTouchEvent *QQuickPointerTouchEvent::touchEventForItem(QQuickItem *item, bool i if (p->isAccepted()) continue; bool isGrabber = p->grabber() == item; - bool isPressInside = p->state() == Qt::TouchPointPressed && item->contains(item->mapFromScene(p->scenePos())); + bool isPressInside = p->state() == QQuickEventPoint::Pressed && item->contains(item->mapFromScene(p->scenePos())); if (!(isGrabber || isPressInside || isFiltering)) continue; diff --git a/src/quick/items/qquickevents_p_p.h b/src/quick/items/qquickevents_p_p.h index cda0e87c5e..61bbb4ecda 100644 --- a/src/quick/items/qquickevents_p_p.h +++ b/src/quick/items/qquickevents_p_p.h @@ -250,13 +250,22 @@ class Q_QUICK_PRIVATE_EXPORT QQuickEventPoint : public QObject { Q_OBJECT Q_PROPERTY(QPointF scenePos READ scenePos) - Q_PROPERTY(Qt::TouchPointState state READ state) + Q_PROPERTY(State state READ state) Q_PROPERTY(quint64 pointId READ pointId) Q_PROPERTY(qreal timeHeld READ timeHeld) Q_PROPERTY(bool accepted READ isAccepted WRITE setAccepted) Q_PROPERTY(QQuickItem *grabber READ grabber WRITE setGrabber) public: + enum State { + Pressed = Qt::TouchPointPressed, + Updated = Qt::TouchPointMoved, + Stationary = Qt::TouchPointStationary, + Released = Qt::TouchPointReleased + // Canceled = Qt::TouchPointReleased << 1 // 0x10 // TODO maybe + }; + Q_ENUM(State) + QQuickEventPoint(QQuickPointerEvent *parent); void reset(Qt::TouchPointState state, QPointF scenePos, quint64 pointId, ulong timestamp); @@ -265,7 +274,7 @@ public: QQuickPointerEvent *pointerEvent() const; QPointF scenePos() const { return m_scenePos; } - Qt::TouchPointState state() const { return m_state; } + State state() const { return m_state; } quint64 pointId() const { return m_pointId; } bool isValid() const { return m_valid; } qreal timeHeld() const { return (m_timestamp - m_pressTimestamp) / 1000.0; } @@ -280,7 +289,7 @@ private: QPointer<QQuickItem> m_grabber; ulong m_timestamp; ulong m_pressTimestamp; - Qt::TouchPointState m_state; + State m_state; bool m_valid : 1; bool m_accept : 1; int m_reserved : 30; diff --git a/src/quick/items/qquickwindow.cpp b/src/quick/items/qquickwindow.cpp index 80d867a05c..64acfa4020 100644 --- a/src/quick/items/qquickwindow.cpp +++ b/src/quick/items/qquickwindow.cpp @@ -2179,7 +2179,7 @@ void QQuickWindowPrivate::deliverTouchEvent(QQuickPointerTouchEvent *event) int pointCount = event->pointCount(); for (int i = 0; i < pointCount; ++i) { QQuickEventPoint *point = event->point(i); - if (point->state() == Qt::TouchPointReleased) { + if (point->state() == QQuickEventPoint::Released) { int id = point->pointId(); qCDebug(DBG_TOUCH_TARGET) << "TP" << id << "released"; point->setGrabber(nullptr); |