aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/handlers/qquickhandlerpoint_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/handlers/qquickhandlerpoint_p.h')
-rw-r--r--src/quick/handlers/qquickhandlerpoint_p.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/quick/handlers/qquickhandlerpoint_p.h b/src/quick/handlers/qquickhandlerpoint_p.h
index 44fd830af2..6ba5e3bf28 100644
--- a/src/quick/handlers/qquickhandlerpoint_p.h
+++ b/src/quick/handlers/qquickhandlerpoint_p.h
@@ -73,6 +73,7 @@ class Q_QUICK_PRIVATE_EXPORT QQuickHandlerPoint {
Q_PROPERTY(qreal rotation READ rotation)
Q_PROPERTY(qreal pressure READ pressure)
Q_PROPERTY(QSizeF ellipseDiameters READ ellipseDiameters)
+ Q_PROPERTY(QPointingDevice *device READ device)
public:
QQuickHandlerPoint();
@@ -90,6 +91,8 @@ public:
qreal pressure() const { return m_pressure; }
QSizeF ellipseDiameters() const { return m_ellipseDiameters; }
QPointingDeviceUniqueId uniqueId() const { return m_uniqueId; }
+ // non-const only because of QML engine limitations (similar to QTBUG-61749)
+ QPointingDevice *device() const { return const_cast<QPointingDevice *>(m_device); }
void localize(QQuickItem *item);
void reset();
@@ -98,6 +101,7 @@ public:
private:
int m_id = 0;
+ const QPointingDevice *m_device = QPointingDevice::primaryPointingDevice();
QPointingDeviceUniqueId m_uniqueId;
Qt::MouseButtons m_pressedButtons = Qt::NoButton;
Qt::KeyboardModifiers m_pressedModifiers = Qt::NoModifier;