diff options
Diffstat (limited to 'src/plugins/platforms/windows/qwindowsmousehandler.h')
-rw-r--r-- | src/plugins/platforms/windows/qwindowsmousehandler.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/plugins/platforms/windows/qwindowsmousehandler.h b/src/plugins/platforms/windows/qwindowsmousehandler.h index 227a66babf..953649102a 100644 --- a/src/plugins/platforms/windows/qwindowsmousehandler.h +++ b/src/plugins/platforms/windows/qwindowsmousehandler.h @@ -66,6 +66,7 @@ public: LRESULT *result); static inline Qt::MouseButtons keyStateToMouseButtons(int); + static inline int mouseButtonsToKeyState(Qt::MouseButtons); QWindow *windowUnderMouse() const { return m_windowUnderMouse.data(); } @@ -93,6 +94,22 @@ Qt::MouseButtons QWindowsMouseHandler::keyStateToMouseButtons(int wParam) return mb; } +int QWindowsMouseHandler::mouseButtonsToKeyState(Qt::MouseButtons mb) +{ + int result = 0; + if (mb & Qt::LeftButton) + result |= MK_LBUTTON; + if (mb & Qt::MiddleButton) + result |= MK_MBUTTON; + if (mb & Qt::RightButton) + result |= MK_RBUTTON; + if (mb & Qt::XButton1) + result |= MK_XBUTTON1; + if (mb & Qt::XButton2) + result |= MK_XBUTTON2; + return result; +} + QT_END_NAMESPACE #endif // QWINDOWSMOUSEHANDLER_H |