Add QEventPoint::pressTimestamp() and priv setPressTimestamp()

There was no good reason for QEventPoint::pressTimestamp() to be
missing.  The case for QEventPoint::timestamp() is a bit dubious
because it's redundant with QInputEvent::timestamp(); but for now,
we keep m_timestamp, in anticipation that Qt Quick may need to keep
copies of eventpoints between events, thus they need to avoid depending
on their shorter-lived parent events too much.

Change-Id: Iec38acfdfaa2afb3dc77d5cd1b95baa8d301c0fd
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
bb10
Shawn Rutledge 2020-08-03 13:07:47 +02:00
parent 3caeb0187d
commit b9873b7dde
2 changed files with 4 additions and 1 deletions

View File

@ -154,6 +154,7 @@ public:
State state() const { return m_state; }
int id() const { return m_pointId; }
QPointingDeviceUniqueId uniqueId() const { return m_uniqueId; }
ulong pressTimestamp() const { return m_pressTimestamp; }
qreal timeHeld() const { return (m_timestamp - m_pressTimestamp) / qreal(1000); }
qreal pressure() const { return m_pressure; }
qreal rotation() const { return m_rotation; }
@ -177,7 +178,7 @@ protected:
QVector2D m_velocity;
QPointer<QObject> m_exclusiveGrabber;
QList<QPointer <QObject> > m_passiveGrabbers;
ulong m_timestamp = 0;
ulong m_timestamp = 0; // redundant with m_parent->timestamp(), but keeps timeHeld() working in a saved copy
ulong m_pressTimestamp = 0;
QPointingDeviceUniqueId m_uniqueId;
int m_pointId = -1;

View File

@ -88,6 +88,8 @@ public:
void setTimestamp(const ulong t) { m_timestamp = t; }
void setPressTimestamp(const ulong t) { m_pressTimestamp = t; }
void setState(QEventPoint::State state) { m_state = state; }
void setUniqueId(const QPointingDeviceUniqueId &uid) { m_uniqueId = uid; }