aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorShawn Rutledge <shawn.rutledge@qt.io>2016-08-05 15:04:03 +0200
committerShawn Rutledge <shawn.rutledge@qt.io>2016-08-05 13:19:26 +0000
commit43db88a5c5614bcab212be1e4703e001f1fbb295 (patch)
tree2f586c80c4d9d78c584c04832d0d44a2d03d2c03 /src
parent796b0cf366a6e6ab53fcb096e442261865ca397b (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.cpp8
-rw-r--r--src/quick/items/qquickevents_p_p.h15
-rw-r--r--src/quick/items/qquickwindow.cpp2
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);