Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qwindowsmousehandler.cpp File Reference

(e68b57e2e0983d66cdf1d48e9216d32fa1e63f68)

#include "qwindowsmousehandler.h"
#include "qwindowskeymapper.h"
#include "qwindowscontext.h"
#include "qwindowswindow.h"
#include "qwindowsintegration.h"
#include "qwindowsscreen.h"
#include <qpa/qwindowsysteminterface.h>
#include <QtGui/qguiapplication.h>
#include <QtGui/qscreen.h>
#include <QtGui/qpointingdevice.h>
#include <QtGui/qwindow.h>
#include <QtGui/qcursor.h>
#include <QtCore/qdebug.h>
#include <memory>
#include <windowsx.h>
+ Include dependency graph for qwindowsmousehandler.cpp:

Go to the source code of this file.

Macros

#define PEEKMESSAGE_IS_BROKEN   1
 

Functions

static QT_BEGIN_NAMESPACE void compressMouseMove (MSG *msg)
 
static Qt::MouseButton extraButton (WPARAM wParam)
 
static MouseEvent eventFromMsg (const MSG &msg)
 
static bool isValidWheelReceiver (QWindow *candidate)
 
static void redirectWheelEvent (QWindow *window, unsigned long timestamp, const QPoint &globalPos, int delta, Qt::Orientation orientation, Qt::KeyboardModifiers mods)
 

Variables

static Q_CONSTINIT QPoint lastMouseMovePos
 

Macro Definition Documentation

◆ PEEKMESSAGE_IS_BROKEN

#define PEEKMESSAGE_IS_BROKEN   1

Function Documentation

◆ compressMouseMove()

static QT_BEGIN_NAMESPACE void compressMouseMove ( MSG * msg)
inlinestatic

Definition at line 26 of file qwindowsmousehandler.cpp.

References clientToScreen(), and done.

Referenced by QWindowsMouseHandler::translateMouseEvent().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ eventFromMsg()

static MouseEvent eventFromMsg ( const MSG & msg)
inlinestatic

Definition at line 151 of file qwindowsmousehandler.cpp.

References extraButton(), Qt::LeftButton, Qt::MiddleButton, QEvent::MouseButtonPress, QEvent::MouseButtonRelease, QEvent::MouseMove, Qt::NoButton, QEvent::NonClientAreaMouseButtonPress, QEvent::NonClientAreaMouseButtonRelease, QEvent::NonClientAreaMouseMove, QEvent::None, and Qt::RightButton.

Referenced by QWindowsMouseHandler::translateMouseEvent(), and QWindowsPointerHandler::translateMouseEvent().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ extraButton()

static Qt::MouseButton extraButton ( WPARAM wParam)
inlinestatic

Definition at line 146 of file qwindowsmousehandler.cpp.

References Qt::BackButton, and Qt::ForwardButton.

Referenced by eventFromMsg().

+ Here is the caller graph for this function:

◆ isValidWheelReceiver()

static bool isValidWheelReceiver ( QWindow * candidate)
static

Definition at line 460 of file qwindowsmousehandler.cpp.

References QWindowsWindow::BlockedByModal, QPlatformWindow::isForeignWindow(), QWindowsWindow::topLevelOf(), and QWindowsWindow::windowsWindowOf().

Referenced by redirectWheelEvent().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ redirectWheelEvent()

static void redirectWheelEvent ( QWindow * window,
unsigned long timestamp,
const QPoint & globalPos,
int delta,
Qt::Orientation orientation,
Qt::KeyboardModifiers mods )
static

Definition at line 473 of file qwindowsmousehandler.cpp.

References QWindow::flags, QWindowSystemInterface::handleWheelEvent(), isValidWheelReceiver(), QWindowsGeometryHint::mapFromGlobal(), Qt::Vertical, window(), QWindowsScreen::windowAt(), and Qt::WindowTransparentForInput.

Referenced by QWindowsMouseHandler::translateScrollEvent().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ lastMouseMovePos

Q_CONSTINIT QPoint lastMouseMovePos
static