diff --git a/src/gui/kernel/qwindowsysteminterface.cpp b/src/gui/kernel/qwindowsysteminterface.cpp index 7da812f64d6..15caa4df469 100644 --- a/src/gui/kernel/qwindowsysteminterface.cpp +++ b/src/gui/kernel/qwindowsysteminterface.cpp @@ -921,6 +921,18 @@ bool QWindowSystemInterface::handleTabletEvent(QWindow *window, ulong timestamp, return QWindowSystemInterfacePrivate::handleWindowSystemEvent(e); } +bool QWindowSystemInterface::handleTabletEvent(QWindow *window, const QPointingDevice *device, + const QPointF &local, const QPointF &global, + Qt::MouseButtons buttons, qreal pressure, int xTilt, int yTilt, + qreal tangentialPressure, qreal rotation, int z, + Qt::KeyboardModifiers modifiers) +{ + const ulong time = QWindowSystemInterfacePrivate::eventTime.elapsed(); + return handleTabletEvent(window, time, device, local, global, + buttons, pressure, xTilt, yTilt, tangentialPressure, + rotation, z, modifiers); +} + bool QWindowSystemInterface::handleTabletEvent(QWindow *window, ulong timestamp, const QPointF &local, const QPointF &global, int device, int pointerType, Qt::MouseButtons buttons, qreal pressure, int xTilt, int yTilt, qreal tangentialPressure, qreal rotation, int z, qint64 uid, @@ -969,6 +981,19 @@ bool QWindowSystemInterface::handleTabletEnterLeaveProximityEvent(QWindow *windo } } +bool QWindowSystemInterface::handleTabletEnterLeaveProximityEvent(QWindow *window, const QPointingDevice *device, + bool inProximity, const QPointF &local, const QPointF &global, + Qt::MouseButtons buttons, int xTilt, int yTilt, + qreal tangentialPressure, qreal rotation, int z, + Qt::KeyboardModifiers modifiers) +{ + const ulong time = QWindowSystemInterfacePrivate::eventTime.elapsed(); + return handleTabletEnterLeaveProximityEvent(window, time, device, inProximity, + local, global, buttons, xTilt, yTilt, + tangentialPressure, rotation, z, modifiers); +} + + bool QWindowSystemInterface::handleTabletEnterProximityEvent(ulong timestamp, int deviceType, int pointerType, qint64 uid) { const QPointingDevice *device = QPointingDevicePrivate::tabletDevice(QInputDevice::DeviceType(deviceType), diff --git a/src/gui/kernel/qwindowsysteminterface.h b/src/gui/kernel/qwindowsysteminterface.h index a2984884eb4..80a66311c09 100644 --- a/src/gui/kernel/qwindowsysteminterface.h +++ b/src/gui/kernel/qwindowsysteminterface.h @@ -257,6 +257,10 @@ public: const QPointF &local, const QPointF &global, Qt::MouseButtons buttons, qreal pressure, int xTilt, int yTilt, qreal tangentialPressure, qreal rotation, int z, Qt::KeyboardModifiers modifiers = Qt::NoModifier); + static bool handleTabletEvent(QWindow *window, const QPointingDevice *device, + const QPointF &local, const QPointF &global, + Qt::MouseButtons buttons, qreal pressure, int xTilt, int yTilt, + qreal tangentialPressure, qreal rotation, int z, Qt::KeyboardModifiers modifiers = Qt::NoModifier); static bool handleTabletEvent(QWindow *window, ulong timestamp, const QPointF &local, const QPointF &global, int device, int pointerType, Qt::MouseButtons buttons, qreal pressure, int xTilt, int yTilt, qreal tangentialPressure, qreal rotation, int z, qint64 uid, @@ -270,6 +274,11 @@ public: Qt::MouseButtons buttons = {}, int xTilt = 0, int yTilt = 0, qreal tangentialPressure = 0, qreal rotation = 0, int z = 0, Qt::KeyboardModifiers modifiers = Qt::NoModifier); + static bool handleTabletEnterLeaveProximityEvent(QWindow *window, const QPointingDevice *device, + bool inProximity, const QPointF &local = QPointF(), const QPointF &global = QPointF(), + Qt::MouseButtons buttons = {}, int xTilt = 0, int yTilt = 0, + qreal tangentialPressure = 0, qreal rotation = 0, int z = 0, + Qt::KeyboardModifiers modifiers = Qt::NoModifier); static bool handleTabletEnterProximityEvent(ulong timestamp, int deviceType, int pointerType, qint64 uid); static void handleTabletEnterProximityEvent(int deviceType, int pointerType, qint64 uid); static bool handleTabletLeaveProximityEvent(ulong timestamp, int deviceType, int pointerType, qint64 uid);