3#ifndef QWINDOWSYSTEMINTERFACE_H
4#define QWINDOWSYSTEMINTERFACE_H
15#include <QtGui/qtguiglobal.h>
16#include <QtCore/QTime>
17#include <QtGui/qwindowdefs.h>
18#include <QtCore/QEvent>
19#include <QtCore/QAbstractEventDispatcher>
20#include <QtGui/QScreen>
21#include <QtGui/QWindow>
22#include <QtCore/QWeakPointer>
23#include <QtCore/QMutex>
24#include <QtGui/QTouchEvent>
25#include <QtCore/QEventLoop>
26#include <QtGui/QVector2D>
43 template<
typename Delivery = QWindowSystemInterface::DefaultDelivery>
48 template<
typename Delivery = QWindowSystemInterface::DefaultDelivery>
54 template<
typename Delivery = QWindowSystemInterface::DefaultDelivery>
60 template<
typename Delivery = QWindowSystemInterface::DefaultDelivery>
67 static bool handleShortcutEvent(
QWindow *
window,
ulong timestamp,
int k, Qt::KeyboardModifiers mods,
quint32 nativeScanCode,
70 template<
typename Delivery = QWindowSystemInterface::DefaultDelivery>
72 template<
typename Delivery = QWindowSystemInterface::DefaultDelivery>
101 bool inverted =
false);
108 bool inverted =
false);
130 template<
typename Delivery = QWindowSystemInterface::DefaultDelivery>
133 template<
typename Delivery = QWindowSystemInterface::DefaultDelivery>
136 template<
typename Delivery = QWindowSystemInterface::DefaultDelivery>
138 template<
typename Delivery = QWindowSystemInterface::DefaultDelivery>
142 template<
typename Delivery = QWindowSystemInterface::DefaultDelivery>
146 template<
typename Delivery = QWindowSystemInterface::DefaultDelivery>
149 template<
typename Delivery = QWindowSystemInterface::DefaultDelivery>
152 template<
typename Delivery = QWindowSystemInterface::DefaultDelivery>
155 template<
typename Delivery = QWindowSystemInterface::DefaultDelivery>
157 template<
typename Delivery = QWindowSystemInterface::DefaultDelivery>
160 template<
typename Delivery = QWindowSystemInterface::DefaultDelivery>
163 template<
typename Delivery = QWindowSystemInterface::DefaultDelivery>
165 template<
typename Delivery = QWindowSystemInterface::DefaultDelivery>
168 template<
typename Delivery = QWindowSystemInterface::DefaultDelivery>
171 template<
typename Delivery = QWindowSystemInterface::DefaultDelivery>
174 template<
typename Delivery = QWindowSystemInterface::DefaultDelivery>
177 template<
typename Delivery = QWindowSystemInterface::DefaultDelivery>
180#if QT_CONFIG(draganddrop)
182 const QPoint &
p, Qt::DropActions supportedActions,
183 Qt::MouseButtons buttons, Qt::KeyboardModifiers
modifiers);
185 const QPoint &
p, Qt::DropActions supportedActions,
186 Qt::MouseButtons buttons, Qt::KeyboardModifiers
modifiers);
197 static void handleScreenGeometryChange(
QScreen *
screen,
const QRect &newGeometry,
const QRect &newAvailableGeometry);
201 template<
typename Delivery = QWindowSystemInterface::DefaultDelivery>
205 static void handleFileOpenEvent(
const QUrl &
url);
209 Qt::MouseButtons buttons,
qreal pressure,
int xTilt,
int yTilt,
213 Qt::MouseButtons buttons,
qreal pressure,
int xTilt,
int yTilt,
225 Qt::MouseButtons buttons = {},
int xTilt = 0,
int yTilt = 0,
226 qreal tangentialPressure = 0,
qreal rotation = 0,
int z = 0,
230 Qt::MouseButtons buttons = {},
int xTilt = 0,
int yTilt = 0,
231 qreal tangentialPressure = 0,
qreal rotation = 0,
int z = 0,
240#ifndef QT_NO_GESTURES
250#ifndef QT_NO_CONTEXTMENU
251 static void handleContextMenuEvent(
QWindow *
window,
bool mouseTriggered,
255#if QT_CONFIG(whatsthis)
256 static void handleEnterWhatsThisEvent();
260 static bool sendWindowSystemEvents(QEventLoop::ProcessEventsFlags
flags);
261 static void setSynchronousWindowSystemEvents(
bool enable);
263 static void deferredFlushWindowSystemEvents(QEventLoop::ProcessEventsFlags
flags);
264 static int windowSystemEventsQueued();
265 static bool nonUserInputEventsQueued();
268#ifndef QT_NO_DEBUG_STREAM
static void handleScreenRemoved(JNIEnv *, jclass, jint displayId)
static void handleScreenAdded(JNIEnv *, jclass, jint displayId)
IOBluetoothDevice * device
The QEventPoint class provides information about a point in a QPointerEvent.
State
Specifies the state of this event point.
Type
This enum type defines the valid event types in Qt.
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
The QPointingDevice class describes a device from which mouse, touch or tablet events originate.
\inmodule QtCore\reentrant
\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
The QVector2D class represents a vector or vertex in 2D space.
The QWindowSystemInterface provides an event queue for the QPA platform.
static bool handleTouchEvent(QWindow *window, const QPointingDevice *device, const QList< struct TouchPoint > &points, Qt::KeyboardModifiers mods=Qt::NoModifier)
static bool handleApplicationTermination()
static bool handleMouseEvent(QWindow *window, ulong timestamp, const QPointingDevice *device, const QPointF &local, const QPointF &global, Qt::MouseButtons state, Qt::MouseButton button, QEvent::Type type, Qt::KeyboardModifiers mods=Qt::NoModifier, Qt::MouseEventSource source=Qt::MouseEventNotSynthesized)
static void handleSafeAreaMarginsChanged(QWindow *window)
static void handleWindowScreenChanged(QWindow *window, QScreen *newScreen)
static void handleLeaveEvent(QWindow *window)
static bool handleMouseEvent(QWindow *window, ulong timestamp, const QPointF &local, const QPointF &global, Qt::MouseButtons state, Qt::MouseButton button, QEvent::Type type, Qt::KeyboardModifiers mods=Qt::NoModifier, Qt::MouseEventSource source=Qt::MouseEventNotSynthesized)
static void handleThemeChange(QWindow *window=nullptr)
static bool handleTouchCancelEvent(QWindow *window, const QPointingDevice *device, Qt::KeyboardModifiers mods=Qt::NoModifier)
static bool handleMouseEvent(QWindow *window, const QPointingDevice *device, const QPointF &local, const QPointF &global, Qt::MouseButtons state, Qt::MouseButton button, QEvent::Type type, Qt::KeyboardModifiers mods=Qt::NoModifier, Qt::MouseEventSource source=Qt::MouseEventNotSynthesized)
static bool handleMouseEvent(QWindow *window, const QPointF &local, const QPointF &global, Qt::MouseButtons state, Qt::MouseButton button, QEvent::Type type, Qt::KeyboardModifiers mods=Qt::NoModifier, Qt::MouseEventSource source=Qt::MouseEventNotSynthesized)
static bool handleCloseEvent(QWindow *window)
static bool handleKeyEvent(QWindow *window, ulong timestamp, QEvent::Type t, int k, Qt::KeyboardModifiers mods, const QString &text=QString(), bool autorep=false, ushort count=1)
static bool handlePaintEvent(QWindow *window, const QRegion ®ion)
static void handleGeometryChange(QWindow *window, const QRect &newRect)
static void handleWindowDevicePixelRatioChanged(QWindow *window)
static bool handleExtendedKeyEvent(QWindow *window, ulong timestamp, const QInputDevice *device, QEvent::Type type, int key, Qt::KeyboardModifiers modifiers, quint32 nativeScanCode, quint32 nativeVirtualKey, quint32 nativeModifiers, const QString &text=QString(), bool autorep=false, ushort count=1)
static bool handleTouchCancelEvent(QWindow *window, ulong timestamp, const QPointingDevice *device, Qt::KeyboardModifiers mods=Qt::NoModifier)
static bool handleTouchEvent(QWindow *window, ulong timestamp, const QPointingDevice *device, const QList< struct TouchPoint > &points, Qt::KeyboardModifiers mods=Qt::NoModifier)
static bool handleKeyEvent(QWindow *window, QEvent::Type t, int k, Qt::KeyboardModifiers mods, const QString &text=QString(), bool autorep=false, ushort count=1)
static bool handleExposeEvent(QWindow *window, const QRegion ®ion)
static void handleWindowActivated(QWindow *window, Qt::FocusReason r=Qt::OtherFocusReason)
static void handleApplicationStateChanged(Qt::ApplicationState newState, bool forcePropagate=false)
static void handleEnterEvent(QWindow *window, const QPointF &local=QPointF(), const QPointF &global=QPointF())
static void handleWindowStateChanged(QWindow *window, Qt::WindowStates newState, int oldState=-1)
EGLImageKHR int int EGLuint64KHR * modifiers
void newState(QList< State > &states, const char *token, const char *lexem, bool pre)
Combined button and popup list for selecting options.
@ MouseEventNotSynthesized
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
GLuint GLfloat GLfloat GLfloat GLfloat GLfloat z
GLenum GLenum GLsizei count
GLuint GLsizei const GLchar * message
GLsizei GLsizei GLchar * source
GLfixed GLfixed GLint GLint GLfixed points
static QPointingDevice::PointerType pointerType(unsigned currentCursor)
static QInputDevice::DeviceType deviceType(const UINT cursorType)
Q_GUI_EXPORT QDebug operator<<(QDebug dbg, const QWindowSystemInterface::TouchPoint &p)
QUrl url("example.com")
[constructor-url-reference]
QList< QPointF > rawPositions