3#ifndef QWINDOWSYSTEMINTERFACE_P_H
4#define QWINDOWSYSTEMINTERFACE_P_H
17#include <QtGui/private/qevent_p.h>
18#include <QtGui/private/qtguiglobal_p.h>
21#include <QElapsedTimer>
25#include <QWaitCondition>
27#include <QLoggingCategory>
38 UserInputEvent = 0x100,
40 GeometryChange = 0x02,
41 Enter = UserInputEvent | 0x03,
42 Leave = UserInputEvent | 0x04,
43 ActivatedWindow = 0x05,
44 WindowStateChanged = 0x06,
47 Key = UserInputEvent | 0x0a,
49 ScreenOrientation = 0x0c,
50 ScreenGeometry = 0x0d,
51 ScreenAvailableGeometry = 0x0e,
52 ScreenLogicalDotsPerInch = 0x0f,
53 ScreenRefreshRate = 0x10,
56 FileOpen = UserInputEvent | 0x13,
57 Tablet = UserInputEvent | 0x14,
58 TabletEnterProximity = UserInputEvent | 0x15,
59 TabletLeaveProximity = UserInputEvent | 0x16,
60 PlatformPanel = UserInputEvent | 0x17,
61 ContextMenu = UserInputEvent | 0x18,
62 EnterWhatsThisMode = UserInputEvent | 0x19,
64 Gesture = UserInputEvent | 0x1a,
66 ApplicationStateChanged = 0x19,
68 WindowScreenChanged = 0x21,
69 SafeAreaMarginsChanged = 0x22,
70 ApplicationTermination = 0x23,
72 WindowDevicePixelRatioChanged = 0x25,
192 QEventLoop::ProcessEventsFlags
flags;
224 Qt::MouseButtons
state, Qt::KeyboardModifiers mods,
246 qt4Orientation(qt4O), localPos(local), globalPos(
global), phase(phase),
source(
src), inverted(inverted) { }
264 repeat(autorep), repeatCount(
count), keyType(
t),
265 nativeScanCode(0), nativeVirtualKey(0), nativeModifiers(0) { }
271 repeat(autorep), repeatCount(
count), keyType(
t),
272 nativeScanCode(nativeSC), nativeVirtualKey(nativeVK), nativeModifiers(nativeMods) { }
368 static void setPlatformSynthesizesMouse(
bool v);
372 qreal rotation,
int z, Qt::KeyboardModifiers mods)
375 pressure(pressure), xTilt(xTilt), yTilt(yTilt), tangentialPressure(tpressure),
376 rotation(rotation),
z(
z) { }
410#ifndef QT_NO_CONTEXTMENU
425#ifndef QT_NO_GESTURES
431 delta(delta), fingerCount(fingerCount), realValue(realValue), sequenceId(0), intValue(0) { }
461 for (
int i = 0;
i < impl.
size(); ++
i)
469 for (
int i = 0;
i < impl.
size(); ++
i)
481 for (
int i = 0;
i < impl.
size(); ++
i) {
482 if (impl.
at(
i)->type ==
t)
490 for (
int i = 0;
i < impl.
size(); ++
i) {
491 if (impl.
at(
i) ==
e) {
503 static qsizetype windowSystemEventsQueued();
504 static bool nonUserInputEventsQueued();
522 template<
class EventPo
intList>
527 newList.
reserve(pointList.size());
528 for (
const auto &point : pointList) {
IOBluetoothDevice * device
The QEventPoint class provides information about a point in a QPointerEvent.
Type
This enum type defines the valid event types in Qt.
qsizetype size() const noexcept
bool empty() const noexcept
const_reference at(qsizetype i) const noexcept
void prepend(rvalue_ref t)
void reserve(qsizetype size)
void append(parameter_type t)
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
The QPointingDevice class describes a device from which mouse, touch or tablet events originate.
static const QPointingDevice * primaryPointingDevice(const QString &seatName=QString())
Returns the primary pointing device (the core pointer, traditionally assumed to be a mouse) on the gi...
\inmodule QtCore\reentrant
The QRegion class specifies a clip region for a painter.
The QScreen class is used to query screen properties. \inmodule QtGui.
\macro QT_RESTRICTED_CAST_FROM_ASCII
QPointer< QWindow > activated
ActivatedWindowEvent(QWindow *activatedWindow, Qt::FocusReason r)
ApplicationStateChangedEvent(Qt::ApplicationState newState, bool forcePropagate=false)
Qt::ApplicationState newState
QPointer< QWindow > window
EnterEvent(QWindow *enter, const QPointF &local, const QPointF &global)
QPointer< QWindow > enter
QPointer< QWindow > window
FileOpenEvent(const QString &fileName)
FileOpenEvent(const QUrl &url)
FlushEventsEvent(QEventLoop::ProcessEventsFlags f=QEventLoop::AllEvents)
QEventLoop::ProcessEventsFlags flags
QPointer< QWindow > window
GestureEvent(QWindow *window, ulong time, Qt::NativeGestureType type, const QPointingDevice *dev, int fingerCount, QPointF pos, QPointF globalPos, qreal realValue, QPointF delta)
Qt::NativeGestureType type
KeyEvent(QWindow *w, ulong time, QEvent::Type t, int k, Qt::KeyboardModifiers mods, const QString &text=QString(), bool autorep=false, ushort count=1, const QInputDevice *device=QInputDevice::primaryKeyboard())
KeyEvent(QWindow *w, ulong time, QEvent::Type t, int k, Qt::KeyboardModifiers mods, quint32 nativeSC, quint32 nativeVK, quint32 nativeMods, const QString &text=QString(), bool autorep=false, ushort count=1, const QInputDevice *device=QInputDevice::primaryKeyboard())
const QInputDevice * source
LeaveEvent(QWindow *leave)
QPointer< QWindow > leave
Qt::MouseEventSource source
MouseEvent(QWindow *w, ulong time, const QPointF &local, const QPointF &global, Qt::MouseButtons state, Qt::KeyboardModifiers mods, Qt::MouseButton b, QEvent::Type type, Qt::MouseEventSource src=Qt::MouseEventNotSynthesized, bool frame=false, const QPointingDevice *device=QPointingDevice::primaryPointingDevice())
PaintEvent(QWindow *window, const QRegion ®ion)
QPointer< QWindow > window
PointerEvent(QWindow *w, ulong time, EventType t, Qt::KeyboardModifiers mods, const QPointingDevice *device)
QPointer< QWindow > window
SafeAreaMarginsChangedEvent(QWindow *w)
QPointer< QScreen > screen
ScreenGeometryEvent(QScreen *s, const QRect &g, const QRect &ag)
QPointer< QScreen > screen
ScreenLogicalDotsPerInchEvent(QScreen *s, qreal dx, qreal dy)
Qt::ScreenOrientation orientation
QPointer< QScreen > screen
ScreenOrientationEvent(QScreen *s, Qt::ScreenOrientation o)
QPointer< QScreen > screen
ScreenRefreshRateEvent(QScreen *s, qreal r)
TabletEnterProximityEvent(ulong time, const QPointingDevice *device)
static bool platformSynthesizesMouse
TabletEvent(QWindow *w, ulong time, const QPointF &local, const QPointF &global, const QPointingDevice *device, Qt::MouseButtons b, qreal pressure, int xTilt, int yTilt, qreal tpressure, qreal rotation, int z, Qt::KeyboardModifiers mods)
static void handleTabletEvent(QWindow *w, const QPointF &local, const QPointF &global, int device, int pointerType, Qt::MouseButtons buttons, qreal pressure, int xTilt, int yTilt, qreal tangentialPressure, qreal rotation, int z, qint64 uid, Qt::KeyboardModifiers modifiers=Qt::NoModifier)
TabletLeaveProximityEvent(ulong time, const QPointingDevice *device)
ThemeChangeEvent(QWindow *w)
QPointer< QWindow > window
TouchEvent(QWindow *w, ulong time, QEvent::Type t, const QPointingDevice *device, const QList< QEventPoint > &p, Qt::KeyboardModifiers mods)
QList< QEventPoint > points
UserEvent(QWindow *w, ulong time, EventType t)
QPointer< QWindow > window
Qt::Orientation qt4Orientation
Qt::MouseEventSource source
WheelEvent(QWindow *w, ulong time, const QPointF &local, const QPointF &global, QPoint pixelD, QPoint angleD, int qt4D, Qt::Orientation qt4O, Qt::KeyboardModifiers mods, Qt::ScrollPhase phase=Qt::NoScrollPhase, Qt::MouseEventSource src=Qt::MouseEventNotSynthesized, bool inverted=false, const QPointingDevice *device=QPointingDevice::primaryPointingDevice())
WindowDevicePixelRatioChangedEvent(QWindow *w)
QPointer< QWindow > window
QPointer< QWindow > window
WindowScreenChangedEvent(QWindow *w, QScreen *s)
QPointer< QScreen > screen
Qt::WindowStates newState
Qt::WindowStates oldState
WindowStateChangedEvent(QWindow *_window, Qt::WindowStates _newState, Qt::WindowStates _oldState)
QPointer< QWindow > window
void append(WindowSystemEvent *e)
void remove(const WindowSystemEvent *e)
void prepend(WindowSystemEvent *e)
WindowSystemEvent * takeFirstOrReturnNull()
WindowSystemEvent * peekAtFirstOfType(EventType t) const
WindowSystemEvent * takeFirstNonUserInputOrReturnNull()
bool nonUserInputEventsQueued()
virtual ~WindowSystemEvent()
WindowSystemEvent(EventType t)
static QWindowSystemEventHandler * eventHandler
static bool platformFiltersEvents
static WindowSystemEventList windowSystemEventQueue
static QAtomicInt eventAccepted
static QList< QWindowSystemInterface::TouchPoint > toNativeTouchPoints(const EventPointList &pointList, const QWindow *window)
static QMutex flushEventMutex
static bool synchronousWindowSystemEvents
static QWaitCondition eventsFlushed
static QElapsedTimer eventTime
EGLImageKHR int int EGLuint64KHR * modifiers
qDeleteAll(list.begin(), list.end())
void newState(QList< State > &states, const char *token, const char *lexem, bool pre)
Combined button and popup list for selecting options.
@ MouseEventNotSynthesized
#define Q_DECLARE_LOGGING_CATEGORY(name)
GLboolean GLboolean GLboolean b
GLsizei const GLfloat * v
[13]
GLuint GLfloat GLfloat GLfloat GLfloat GLfloat z
GLfloat GLfloat GLfloat w
[0]
GLenum GLenum GLsizei count
GLsizei GLsizei GLchar * source
GLfixed GLfixed GLint GLint GLfixed points
unsigned long long quint64
static QPointingDevice::PointerType pointerType(unsigned currentCursor)
QUrl url("example.com")
[constructor-url-reference]
virtual HRESULT STDMETHODCALLTYPE Close(void)=0