diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-11-24 09:20:08 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-11-27 08:28:24 +0100 |
commit | d3caea04dc6c3a7072a43294b70bec860c199bf1 (patch) | |
tree | 3224155df657a19cb27afafccb4159fe94151915 /src/gui/kernel/qwindowsysteminterface.cpp | |
parent | 21fa38b6ad0167673148709faa4907b220853c5a (diff) |
Windows QPA: Pass device for synthesized touch/tablet events
Add the overloads for mouse events with device/without timestamp
and pass the active tablet or touch device.
Task-number: QTBUG-88678
Task-number: QTBUG-46412
Pick-to: 6.0
Change-Id: I8695b493540d0cbf50e9c72afe870a7633de3ab9
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Diffstat (limited to 'src/gui/kernel/qwindowsysteminterface.cpp')
-rw-r--r-- | src/gui/kernel/qwindowsysteminterface.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/gui/kernel/qwindowsysteminterface.cpp b/src/gui/kernel/qwindowsysteminterface.cpp index 14c071b4d9..2f26d38dde 100644 --- a/src/gui/kernel/qwindowsysteminterface.cpp +++ b/src/gui/kernel/qwindowsysteminterface.cpp @@ -381,6 +381,15 @@ QT_DEFINE_QPA_EVENT_HANDLER(bool, handleMouseEvent, QWindow *window, return handleMouseEvent<Delivery>(window, time, local, global, state, button, type, mods, source); } +QT_DEFINE_QPA_EVENT_HANDLER(bool, handleMouseEvent, QWindow *window, const QPointingDevice *device, + const QPointF &local, const QPointF &global, Qt::MouseButtons state, + Qt::MouseButton button, QEvent::Type type, Qt::KeyboardModifiers mods, + Qt::MouseEventSource source) +{ + unsigned long time = QWindowSystemInterfacePrivate::eventTime.elapsed(); + return handleMouseEvent<Delivery>(window, time, device, local, global, state, button, type, mods, source); +} + QT_DEFINE_QPA_EVENT_HANDLER(bool, handleMouseEvent, QWindow *window, ulong timestamp, const QPointF &local, const QPointF &global, Qt::MouseButtons state, Qt::MouseButton button, QEvent::Type type, Qt::KeyboardModifiers mods, @@ -418,6 +427,17 @@ bool QWindowSystemInterface::handleFrameStrutMouseEvent(QWindow *window, return handleFrameStrutMouseEvent(window, time, local, global, state, button, type, mods, source); } +bool QWindowSystemInterface::handleFrameStrutMouseEvent(QWindow *window, const QPointingDevice *device, + const QPointF &local, const QPointF &global, + Qt::MouseButtons state, + Qt::MouseButton button, QEvent::Type type, + Qt::KeyboardModifiers mods, + Qt::MouseEventSource source) +{ + const unsigned long time = QWindowSystemInterfacePrivate::eventTime.elapsed(); + return handleFrameStrutMouseEvent(window, time, device, local, global, state, button, type, mods, source); +} + bool QWindowSystemInterface::handleFrameStrutMouseEvent(QWindow *window, ulong timestamp, const QPointF &local, const QPointF &global, Qt::MouseButtons state, |