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
qwindowspointerhandler.cpp File Reference

(e68b57e2e0983d66cdf1d48e9216d32fa1e63f68)

#include <QtCore/qt_windows.h>
#include "qwindowspointerhandler.h"
#include "qwindowsmousehandler.h"
#include "qwindowskeymapper.h"
#include "qwindowscontext.h"
#include "qwindowswindow.h"
#include "qwindowsintegration.h"
#include "qwindowsscreen.h"
#include <QtGui/qguiapplication.h>
#include <QtGui/qscreen.h>
#include <QtGui/qpointingdevice.h>
#include <QtGui/qwindow.h>
#include <QtGui/private/qguiapplication_p.h>
#include <QtCore/qvarlengtharray.h>
#include <QtCore/qloggingcategory.h>
#include <QtCore/qqueue.h>
#include <algorithm>
#include <windowsx.h>
+ Include dependency graph for qwindowspointerhandler.cpp:

Go to the source code of this file.

Enumerations

enum  {
  QT_PT_POINTER = 1 , QT_PT_TOUCH = 2 , QT_PT_PEN = 3 , QT_PT_MOUSE = 4 ,
  QT_PT_TOUCHPAD = 5
}
 

Functions

static Qt::MouseButton extraButton (WPARAM wParam)
 
static MouseEvent eventFromMsg (const MSG &msg)
 
static Qt::MouseButtons mouseButtonsFromKeyState (WPARAM keyState)
 
static Qt::MouseButtons queryMouseButtons ()
 
static QWindowgetWindowUnderPointer (QWindow *window, QPoint globalPos)
 
static bool trackLeave (HWND hwnd)
 
static bool isValidWheelReceiver (QWindow *candidate)
 
static bool isMouseEventSynthesizedFromPenOrTouch ()
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
QT_PT_POINTER 
QT_PT_TOUCH 
QT_PT_PEN 
QT_PT_MOUSE 
QT_PT_TOUCHPAD 

Definition at line 32 of file qwindowspointerhandler.cpp.

Function Documentation

◆ eventFromMsg()

static MouseEvent eventFromMsg ( const MSG & msg)
inlinestatic

Definition at line 147 of file qwindowspointerhandler.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.

+ Here is the call graph for this function:

◆ extraButton()

static Qt::MouseButton extraButton ( WPARAM wParam)
inlinestatic

Definition at line 142 of file qwindowspointerhandler.cpp.

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

Referenced by eventFromMsg().

+ Here is the caller graph for this function:

◆ getWindowUnderPointer()

static QWindow * getWindowUnderPointer ( QWindow * window,
QPoint globalPos )
static

Definition at line 235 of file qwindowspointerhandler.cpp.

References QWindowsWindow::hasMouseCapture(), window(), QWindowsScreen::windowAt(), and Qt::WindowTransparentForInput.

Referenced by QWindowsPointerHandler::translateMouseEvent().

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

◆ isMouseEventSynthesizedFromPenOrTouch()

static bool isMouseEventSynthesizedFromPenOrTouch ( )
inlinestatic

Definition at line 699 of file qwindowspointerhandler.cpp.

Referenced by QWindowsPointerHandler::translateMouseEvent().

+ Here is the caller graph for this function:

◆ isValidWheelReceiver()

static bool isValidWheelReceiver ( QWindow * candidate)
static

Definition at line 267 of file qwindowspointerhandler.cpp.

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

+ Here is the call graph for this function:

◆ mouseButtonsFromKeyState()

static Qt::MouseButtons mouseButtonsFromKeyState ( WPARAM keyState)
static

Definition at line 202 of file qwindowspointerhandler.cpp.

References Qt::LeftButton, Qt::MiddleButton, Qt::NoButton, Qt::RightButton, Qt::XButton1, and Qt::XButton2.

Referenced by QWindowsPointerHandler::translateMouseEvent().

+ Here is the caller graph for this function:

◆ queryMouseButtons()

static Qt::MouseButtons queryMouseButtons ( )
static

Definition at line 218 of file qwindowspointerhandler.cpp.

References Qt::LeftButton, Qt::MiddleButton, Qt::NoButton, Qt::RightButton, Qt::XButton1, and Qt::XButton2.

Referenced by QXcbWindow::handleEnterNotifyEvent(), and QWindowsPointerHandler::translateMouseEvent().

+ Here is the caller graph for this function:

◆ trackLeave()

static bool trackLeave ( HWND hwnd)
static

Definition at line 257 of file qwindowspointerhandler.cpp.