diff options
Diffstat (limited to 'src/plugins/platforms/windows/qwindowsmousehandler.h')
-rw-r--r-- | src/plugins/platforms/windows/qwindowsmousehandler.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/plugins/platforms/windows/qwindowsmousehandler.h b/src/plugins/platforms/windows/qwindowsmousehandler.h index b3d176db9b..a978840d67 100644 --- a/src/plugins/platforms/windows/qwindowsmousehandler.h +++ b/src/plugins/platforms/windows/qwindowsmousehandler.h @@ -67,6 +67,7 @@ public: LRESULT *result); static inline Qt::MouseButtons keyStateToMouseButtons(int); + static inline Qt::KeyboardModifiers keyStateToModifiers(int); static inline int mouseButtonsToKeyState(Qt::MouseButtons); QWindow *windowUnderMouse() const { return m_windowUnderMouse.data(); } @@ -96,6 +97,16 @@ Qt::MouseButtons QWindowsMouseHandler::keyStateToMouseButtons(int wParam) return mb; } +Qt::KeyboardModifiers QWindowsMouseHandler::keyStateToModifiers(int wParam) +{ + Qt::KeyboardModifiers mods(Qt::NoModifier); + if (wParam & MK_CONTROL) + mods |= Qt::ControlModifier; + if (wParam & MK_SHIFT) + mods |= Qt::ShiftModifier; + return mods; +} + int QWindowsMouseHandler::mouseButtonsToKeyState(Qt::MouseButtons mb) { int result = 0; |