summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/windows/qwindowsmousehandler.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/windows/qwindowsmousehandler.h')
-rw-r--r--src/plugins/platforms/windows/qwindowsmousehandler.h17
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