![]() |
Qt 6.x
The Qt SDK
|
#include <qxcbwindow.h>
Public Types | |
enum | NetWmState { NetWmStateAbove = 0x1 , NetWmStateBelow = 0x2 , NetWmStateFullScreen = 0x4 , NetWmStateMaximizedHorz = 0x8 , NetWmStateMaximizedVert = 0x10 , NetWmStateModal = 0x20 , NetWmStateStaysOnTop = 0x40 , NetWmStateDemandsAttention = 0x80 , NetWmStateHidden = 0x100 } |
enum | RecreationReason { RecreationNotNeeded = 0 , WindowStaysOnTopHintChanged = 0x1 , WindowStaysOnBottomHintChanged = 0x2 } |
Public Slots | |
void | updateSyncRequestCounter () |
Public Member Functions | |
QXcbWindow (QWindow *window) | |
~QXcbWindow () | |
void | setGeometry (const QRect &rect) override |
This function is called by Qt whenever a window is moved or resized using the QWindow API. | |
QMargins | frameMargins () const override |
void | setVisible (bool visible) override |
Reimplemented in subclasses to show the surface if visible is true , and hide it if visible is false . | |
void | setWindowFlags (Qt::WindowFlags flags) override |
Requests setting the window flags of this surface to flags. | |
void | setWindowState (Qt::WindowStates state) override |
Requests setting the window state of this surface to type. | |
WId | winId () const override |
Reimplement in subclasses to return a handle to the native window. | |
void | setParent (const QPlatformWindow *window) override |
This function is called to enable native child window in QPA. | |
bool | isExposed () const override |
Returns if this window is exposed in the windowing system. | |
bool | isEmbedded () const override |
Returns true if the window is a child of a non-Qt window. | |
QPoint | mapToGlobal (const QPoint &pos) const override |
Translates the window coordinate pos to global screen coordinates using native methods. | |
QPoint | mapFromGlobal (const QPoint &pos) const override |
Translates the global screen coordinate pos to window coordinates using native methods. | |
void | setWindowTitle (const QString &title) override |
Reimplement to set the window title to title. | |
void | setWindowIconText (const QString &title) override |
void | setWindowIcon (const QIcon &icon) override |
Reimplement to set the window icon to icon. | |
void | raise () override |
Reimplement to be able to let Qt raise windows to the top of the desktop. | |
void | lower () override |
Reimplement to be able to let Qt lower windows to the bottom of the desktop. | |
void | propagateSizeHints () override |
Reimplement to propagate the size hints of the QWindow. | |
void | requestActivateWindow () override |
Reimplement to let Qt be able to request activation/focus for a window. | |
bool | setKeyboardGrabEnabled (bool grab) override |
bool | setMouseGrabEnabled (bool grab) override |
QSurfaceFormat | format () const override |
Returns the actual surface format of the window. | |
bool | windowEvent (QEvent *event) override |
Reimplement this method to be able to do any platform specific event handling. | |
bool | startSystemResize (Qt::Edges edges) override |
Reimplement this method to start a system resize operation if the system supports it and return true to indicate success. | |
bool | startSystemMove () override |
Reimplement this method to start a system move operation if the system supports it and return true to indicate success. | |
void | setOpacity (qreal level) override |
Reimplement to be able to let Qt set the opacity level of a window. | |
void | setMask (const QRegion ®ion) override |
Reimplement to be able to let Qt set the mask of a window. | |
void | setAlertState (bool enabled) override |
Reimplement this method to set whether the window demands attention (for example, by flashing the taskbar icon) depending on enabled. | |
bool | isAlertState () const override |
Reimplement this method return whether the window is in an alert state. | |
xcb_window_t | xcb_window () const |
uint | depth () const |
QImage::Format | imageFormat () const |
bool | imageNeedsRgbSwap () const |
bool | handleNativeEvent (xcb_generic_event_t *event) override |
void | handleExposeEvent (const xcb_expose_event_t *event) override |
void | handleClientMessageEvent (const xcb_client_message_event_t *event) override |
void | handleConfigureNotifyEvent (const xcb_configure_notify_event_t *event) override |
void | handleMapNotifyEvent (const xcb_map_notify_event_t *event) override |
void | handleUnmapNotifyEvent (const xcb_unmap_notify_event_t *event) override |
void | handleButtonPressEvent (const xcb_button_press_event_t *event) override |
void | handleButtonReleaseEvent (const xcb_button_release_event_t *event) override |
void | handleMotionNotifyEvent (const xcb_motion_notify_event_t *event) override |
void | handleEnterNotifyEvent (const xcb_enter_notify_event_t *event) override |
void | handleLeaveNotifyEvent (const xcb_leave_notify_event_t *event) override |
void | handleFocusInEvent (const xcb_focus_in_event_t *event) override |
void | handleFocusOutEvent (const xcb_focus_out_event_t *event) override |
void | handlePropertyNotifyEvent (const xcb_property_notify_event_t *event) override |
void | handleXIMouseEvent (xcb_ge_event_t *, Qt::MouseEventSource source=Qt::MouseEventNotSynthesized) override |
void | handleXIEnterLeave (xcb_ge_event_t *) override |
QXcbWindow * | toWindow () override |
void | handleMouseEvent (xcb_timestamp_t time, const QPoint &local, const QPoint &global, Qt::KeyboardModifiers modifiers, QEvent::Type type, Qt::MouseEventSource source) |
void | updateNetWmUserTime (xcb_timestamp_t timestamp) |
WindowTypes | wmWindowTypes () const |
void | setWmWindowType (WindowTypes types, Qt::WindowFlags flags) |
void | setWindowType (WindowTypes windowTypes) override |
void | setWindowRole (const QString &role) override |
void | setParentRelativeBackPixmap () |
bool | requestSystemTrayWindowDock () |
uint | visualId () const override |
bool | needsSync () const |
void | postSyncWindowRequest () |
void | clearSyncWindowRequest () |
QXcbScreen * | xcbScreen () const |
QPoint | lastPointerPosition () const |
QPoint | lastPointerGlobalPosition () const |
bool | startSystemMoveResize (const QPoint &pos, int edges) |
void | doStartSystemMoveResize (const QPoint &globalPos, int edges) |
virtual void | create () |
virtual void | destroy () |
int | swapInterval () const |
void | setSwapInterval (int swapInterval) |
![]() | |
QXcbObject (QXcbConnection *connection=nullptr) | |
void | setConnection (QXcbConnection *connection) |
QXcbConnection * | connection () const |
xcb_atom_t | atom (QXcbAtom::Atom atom) const |
xcb_connection_t * | xcb_connection () const |
![]() | |
virtual | ~QXcbWindowEventListener () |
virtual bool | handleNativeEvent (xcb_generic_event_t *) |
virtual void | handleExposeEvent (const xcb_expose_event_t *) |
virtual void | handleClientMessageEvent (const xcb_client_message_event_t *) |
virtual void | handleConfigureNotifyEvent (const xcb_configure_notify_event_t *) |
virtual void | handleMapNotifyEvent (const xcb_map_notify_event_t *) |
virtual void | handleUnmapNotifyEvent (const xcb_unmap_notify_event_t *) |
virtual void | handleDestroyNotifyEvent (const xcb_destroy_notify_event_t *) |
virtual void | handleButtonPressEvent (const xcb_button_press_event_t *) |
virtual void | handleButtonReleaseEvent (const xcb_button_release_event_t *) |
virtual void | handleMotionNotifyEvent (const xcb_motion_notify_event_t *) |
virtual void | handleEnterNotifyEvent (const xcb_enter_notify_event_t *) |
virtual void | handleLeaveNotifyEvent (const xcb_leave_notify_event_t *) |
virtual void | handleFocusInEvent (const xcb_focus_in_event_t *) |
virtual void | handleFocusOutEvent (const xcb_focus_out_event_t *) |
virtual void | handlePropertyNotifyEvent (const xcb_property_notify_event_t *) |
virtual void | handleXIMouseEvent (xcb_ge_event_t *, Qt::MouseEventSource=Qt::MouseEventNotSynthesized) |
virtual void | handleXIEnterLeave (xcb_ge_event_t *) |
virtual QXcbWindow * | toWindow () |
![]() | |
QPlatformWindow (QWindow *window) | |
Constructs a platform window with the given top level window. | |
~QPlatformWindow () override | |
Virtual destructor does not delete its top level window. | |
virtual void | initialize () |
Called as part of QWindow::create(), after constructing the window. | |
QWindow * | window () const |
Returns the window which belongs to the QPlatformWindow. | |
QPlatformWindow * | parent () const |
Returns the parent platform window (or \nullptr if orphan). | |
QPlatformScreen * | screen () const override |
Returns the platform screen handle corresponding to this platform window, or null if the window is not associated with a screen. | |
virtual QSurfaceFormat | format () const override |
Returns the actual surface format of the window. | |
virtual void | setGeometry (const QRect &rect) |
This function is called by Qt whenever a window is moved or resized using the QWindow API. | |
virtual QRect | geometry () const |
Returns the current geometry of a window. | |
virtual QRect | normalGeometry () const |
Returns the geometry of a window in 'normal' state (neither maximized, fullscreen nor minimized) for saving geometries to application settings. | |
virtual QMargins | frameMargins () const |
virtual QMargins | safeAreaMargins () const |
The safe area margins of a window represent the area that is safe to place content within, without intersecting areas of the screen where system UI is placed, or where a screen bezel may cover the content. | |
virtual void | setVisible (bool visible) |
Reimplemented in subclasses to show the surface if visible is true , and hide it if visible is false . | |
virtual void | setWindowFlags (Qt::WindowFlags flags) |
Requests setting the window flags of this surface to flags. | |
virtual void | setWindowState (Qt::WindowStates state) |
Requests setting the window state of this surface to type. | |
virtual WId | winId () const |
Reimplement in subclasses to return a handle to the native window. | |
virtual void | setParent (const QPlatformWindow *window) |
This function is called to enable native child window in QPA. | |
virtual void | setWindowTitle (const QString &title) |
Reimplement to set the window title to title. | |
virtual void | setWindowFilePath (const QString &title) |
Reimplement to set the window file path to filePath. | |
virtual void | setWindowIcon (const QIcon &icon) |
Reimplement to set the window icon to icon. | |
virtual bool | close () |
Reimplement to let the platform handle non-spontaneous window close. | |
virtual void | raise () |
Reimplement to be able to let Qt raise windows to the top of the desktop. | |
virtual void | lower () |
Reimplement to be able to let Qt lower windows to the bottom of the desktop. | |
virtual bool | isExposed () const |
Returns if this window is exposed in the windowing system. | |
virtual bool | isActive () const |
Returns true if the window should appear active from a style perspective. | |
virtual bool | isAncestorOf (const QPlatformWindow *child) const |
Returns true if the window is an ancestor of the given child. | |
virtual bool | isEmbedded () const |
Returns true if the window is a child of a non-Qt window. | |
virtual bool | isForeignWindow () const |
virtual QPoint | mapToGlobal (const QPoint &pos) const |
Translates the window coordinate pos to global screen coordinates using native methods. | |
QPointF | mapToGlobalF (const QPointF &pos) const |
virtual QPoint | mapFromGlobal (const QPoint &pos) const |
Translates the global screen coordinate pos to window coordinates using native methods. | |
QPointF | mapFromGlobalF (const QPointF &pos) const |
virtual void | propagateSizeHints () |
Reimplement to propagate the size hints of the QWindow. | |
virtual void | setOpacity (qreal level) |
Reimplement to be able to let Qt set the opacity level of a window. | |
virtual void | setMask (const QRegion ®ion) |
Reimplement to be able to let Qt set the mask of a window. | |
virtual void | requestActivateWindow () |
Reimplement to let Qt be able to request activation/focus for a window. | |
virtual void | handleContentOrientationChange (Qt::ScreenOrientation orientation) |
Handle changes to the orientation of the platform window's contents. | |
virtual qreal | devicePixelRatio () const |
Reimplement this function in subclass to return the device pixel ratio for the window. | |
virtual bool | setKeyboardGrabEnabled (bool grab) |
virtual bool | setMouseGrabEnabled (bool grab) |
virtual bool | setWindowModified (bool modified) |
Reimplement to be able to let Qt indicate that the window has been modified. | |
virtual bool | windowEvent (QEvent *event) |
Reimplement this method to be able to do any platform specific event handling. | |
virtual bool | startSystemResize (Qt::Edges edges) |
Reimplement this method to start a system resize operation if the system supports it and return true to indicate success. | |
virtual bool | startSystemMove () |
Reimplement this method to start a system move operation if the system supports it and return true to indicate success. | |
virtual void | setFrameStrutEventsEnabled (bool enabled) |
Reimplement this method to set whether frame strut events should be sent to enabled. | |
virtual bool | frameStrutEventsEnabled () const |
Reimplement this method to return whether frame strut events are enabled. | |
virtual void | setAlertState (bool enabled) |
Reimplement this method to set whether the window demands attention (for example, by flashing the taskbar icon) depending on enabled. | |
virtual bool | isAlertState () const |
Reimplement this method return whether the window is in an alert state. | |
virtual void | invalidateSurface () |
Invalidates the window's surface by releasing its surface buffers. | |
virtual void | requestUpdate () |
Requests an QEvent::UpdateRequest event. | |
bool | hasPendingUpdateRequest () const |
Returns true if the window has a pending update request. | |
virtual void | deliverUpdateRequest () |
Delivers an QEvent::UpdateRequest event to the window. | |
QSize | windowMinimumSize () const |
Returns the QWindow minimum size. | |
QSize | windowMaximumSize () const |
Returns the QWindow maximum size. | |
QSize | windowBaseSize () const |
Returns the QWindow base size. | |
QSize | windowSizeIncrement () const |
Returns the QWindow size increment. | |
QRect | windowGeometry () const |
Returns the QWindow geometry. | |
QRect | windowFrameGeometry () const |
Returns the QWindow frame geometry. | |
QRectF | windowClosestAcceptableGeometry (const QRectF &nativeRect) const |
![]() | |
virtual | ~QPlatformSurface () |
virtual QSurfaceFormat | format () const =0 |
QSurface * | surface () const |
virtual QPlatformScreen * | screen () const =0 |
Static Public Member Functions | |
static bool | isTrayIconWindow (QWindow *window) |
static void | setWindowTitle (const QXcbConnection *conn, xcb_window_t window, const QString &title) |
static QString | windowTitle (const QXcbConnection *conn, xcb_window_t window) |
![]() | |
static QRect | initialGeometry (const QWindow *w, const QRect &initialGeometry, int defaultWidth, int defaultHeight, const QScreen **resultingScreenReturn=nullptr) |
Helper function to get initial geometry on windowing systems which do not do smart positioning and also do not provide a means of centering a transient window w.r.t. | |
static QRectF | closestAcceptableGeometry (const QWindow *w, const QRectF &nativeRect) |
Returns the closest acceptable geometry for a given geometry before a resize/move event for platforms that support it, for example to implement heightForWidth(). | |
![]() | |
static bool | isRasterSurface (QSurface *surface) |
Protected Types | |
enum | SyncState { NoSyncNeeded , SyncReceived , SyncAndConfigureReceived } |
Protected Member Functions | |
virtual void | resolveFormat (const QSurfaceFormat &format) |
virtual const xcb_visualtype_t * | createVisual () |
void | setImageFormatForVisual (const xcb_visualtype_t *visual) |
QXcbScreen * | parentScreen () |
QXcbScreen * | initialScreen () const |
void | setNetWmState (bool set, xcb_atom_t one, xcb_atom_t two=0) |
void | setNetWmState (Qt::WindowFlags flags) |
void | setNetWmState (Qt::WindowStates state) |
void | setNetWmStateOnUnmappedWindow () |
NetWmStates | netWmStates () |
void | setMotifWmHints (Qt::WindowFlags flags) |
void | setTransparentForMouseEvents (bool transparent) |
void | updateDoesNotAcceptFocus (bool doesNotAcceptFocus) |
void | sendXEmbedMessage (xcb_window_t window, quint32 message, quint32 detail=0, quint32 data1=0, quint32 data2=0) |
void | handleXEmbedMessage (const xcb_client_message_event_t *event) |
void | show () |
void | hide () |
bool | relayFocusToModalWindow () const |
void | doFocusIn () |
void | doFocusOut () |
void | handleButtonPressEvent (int event_x, int event_y, int root_x, int root_y, int detail, Qt::KeyboardModifiers modifiers, xcb_timestamp_t timestamp, QEvent::Type type, Qt::MouseEventSource source=Qt::MouseEventNotSynthesized) |
void | handleButtonReleaseEvent (int event_x, int event_y, int root_x, int root_y, int detail, Qt::KeyboardModifiers modifiers, xcb_timestamp_t timestamp, QEvent::Type type, Qt::MouseEventSource source=Qt::MouseEventNotSynthesized) |
void | handleMotionNotifyEvent (int event_x, int event_y, int root_x, int root_y, Qt::KeyboardModifiers modifiers, xcb_timestamp_t timestamp, QEvent::Type type, Qt::MouseEventSource source=Qt::MouseEventNotSynthesized) |
void | handleEnterNotifyEvent (int event_x, int event_y, int root_x, int root_y, quint8 mode, quint8 detail, xcb_timestamp_t timestamp) |
void | handleLeaveNotifyEvent (int root_x, int root_y, quint8 mode, quint8 detail, xcb_timestamp_t timestamp) |
![]() | |
QPlatformScreen * | screenForGeometry (const QRect &newGeometry) const |
Helper function for finding the new screen for newGeometry in response to a geometry changed event. | |
Additional Inherited Members | |
![]() | |
static QString | formatWindowTitle (const QString &title, const QString &separator) |
Call this method to put together a window title composed of title separator the application display name. | |
static QSize | constrainWindowSize (const QSize &size) |
Returns a size with both dimensions bounded to [0, QWINDOWSIZE_MAX]. | |
Definition at line 23 of file qxcbwindow.h.
Enumerator | |
---|---|
NetWmStateAbove | |
NetWmStateBelow | |
NetWmStateFullScreen | |
NetWmStateMaximizedHorz | |
NetWmStateMaximizedVert | |
NetWmStateModal | |
NetWmStateStaysOnTop | |
NetWmStateDemandsAttention | |
NetWmStateHidden |
Definition at line 27 of file qxcbwindow.h.
Enumerator | |
---|---|
RecreationNotNeeded | |
WindowStaysOnTopHintChanged | |
WindowStaysOnBottomHintChanged |
Definition at line 41 of file qxcbwindow.h.
|
protected |
Enumerator | |
---|---|
NoSyncNeeded | |
SyncReceived | |
SyncAndConfigureReceived |
Definition at line 243 of file qxcbwindow.h.
QXcbWindow::QXcbWindow | ( | QWindow * | window | ) |
Definition at line 201 of file qxcbwindow.cpp.
References QXcbObject::connection(), QXcbObject::setConnection(), and xcbScreen().
QXcbWindow::~QXcbWindow | ( | ) |
Definition at line 470 of file qxcbwindow.cpp.
References destroy().
|
inline |
Definition at line 134 of file qxcbwindow.h.
Referenced by QXcbSyncWindowRequest::invalidate().
|
virtual |
Reimplemented in QXcbEglWindow, and QXcbForeignWindow.
Definition at line 224 of file qxcbwindow.cpp.
References QXcbConnection::addWindowEventListener(), QXcbObject::atom(), QXcbAtom::Atom_NET_WM_CONTEXT_HELP, QXcbAtom::Atom_NET_WM_PID, QXcbAtom::Atom_NET_WM_PING, QXcbAtom::Atom_NET_WM_SYNC_REQUEST, QXcbAtom::Atom_NET_WM_SYNC_REQUEST_COUNTER, QXcbAtom::Atom_XEMBED_INFO, QXcbAtom::AtomWM_CLASS, QXcbAtom::AtomWM_CLIENT_LEADER, QXcbAtom::AtomWM_CLIENT_MACHINE, QXcbAtom::AtomWM_DELETE_WINDOW, QXcbAtom::AtomWM_PROTOCOLS, QXcbAtom::AtomWM_TAKE_FOCUS, Qt::BypassWindowManagerHint, QXcbConnection::clientLeader(), QXcbScreen::colormapForVisual(), QXcbObject::connection(), QByteArray::constData(), contains(), createVisual(), defaultEventMask, QXcbConnection::defaultVisualId(), defaultWindowHeight, defaultWindowWidth, QXcbScreen::depthOfVisual(), Qt::Desktop, destroy(), Qt::Drawer, QWindow::flags, QString::fromLatin1(), QPlatformWindow::geometry(), QWindowSystemInterface::handleWindowScreenChanged(), QSurfaceFormat::hasAlpha(), QSize::height(), icon, initialScreen(), QXcbIntegration::instance(), QByteArray::isEmpty(), QPlatformWindow::isForeignWindow(), isTrayIconWindow(), m_depth, m_embedded, m_syncCounter, m_syncValue, m_trayIconWindow, m_visualId, m_window, m_windowState, QSysInfo::machineHostName(), QWindowPrivate::opacity, QSurface::OpenGLSurface, QPlatformWindow::parent(), parentScreen(), Qt::Popup, propagateSizeHints(), properties, QObject::property(), Q_ASSERT, qBound(), qFuzzyCompare(), qt_window_private(), qWarning, rect, requestSystemTrayWindowDock(), resolveFormat(), QXcbScreen::root(), QXcbScreen::screen(), QPlatformWindow::setGeometry(), setImageFormatForVisual(), setMask(), setOpacity(), setWindowFlags(), setWindowIcon(), setWindowRole(), setWindowState(), setWindowTitle(), QByteArray::size(), Qt::SplashScreen, QXcbScreen::surfaceFormatFor(), QXcbConnection::sync(), systemTrayTracker(), title, QVariant::toByteArray(), QString::toLocal8Bit(), QHighDpi::toNativeLocalPosition(), QHighDpi::toNativeLocalRegion(), QHighDpi::toNativePixels(), Qt::Tool, Qt::ToolTip, QXcbScreen::visualForId(), visualId(), QSurface::VulkanSurface, QSize::width(), QPlatformWindow::window(), Qt::WindowContextHelpButtonHint, QPlatformWindow::windowMinimumSize(), Qt::WindowNoState, wm_window_role_property_id, QXcbIntegration::wmClass(), QXcbObject::xcb_connection(), xcb_window(), xcbScreen(), XCOORD_MAX, XEMBED_MAPPED, XEMBED_VERSION, and QXcbConnection::xi2SelectDeviceEvents().
Referenced by QXcbEglWindow::create(), QXcbIntegration::createPlatformWindow(), and show().
|
protectedvirtual |
Reimplemented in QXcbEglWindow, and QXcbGlxWindow.
Definition at line 2221 of file qxcbwindow.cpp.
References m_format, QXcbScreen::visualForFormat(), and xcbScreen().
Referenced by create(), QXcbEglWindow::createVisual(), and QXcbGlxWindow::createVisual().
|
inline |
Definition at line 92 of file qxcbwindow.h.
|
virtual |
Definition at line 486 of file qxcbwindow.cpp.
References QXcbObject::atom(), QXcbAtom::Atom_NET_WM_USER_TIME_WINDOW, QXcbObject::connection(), doFocusOut(), QXcbSyncWindowRequest::invalidate(), m_mapped, m_netWmUserTimeWindow, m_pendingSyncRequest, m_recreationReasons, m_syncCounter, m_window, RecreationNotNeeded, QXcbConnection::removeWindowEventListener(), QXcbConnection::setMouseGrabber(), QXcbConnection::sync(), and QXcbObject::xcb_connection().
Referenced by ~QXcbWindow(), and create().
|
protected |
Definition at line 778 of file qxcbwindow.cpp.
References Qt::ActiveWindowFocusReason, QXcbObject::connection(), QObjectPrivate::get(), QWindowSystemInterface::handleWindowActivated(), relayFocusToModalWindow(), QXcbConnection::setFocusWindow(), and QPlatformWindow::window().
Referenced by handleClientMessageEvent(), and handleFocusInEvent().
|
protected |
Definition at line 787 of file qxcbwindow.cpp.
References QXcbObject::connection(), QXcbConnection::focusInTimer(), relayFocusToModalWindow(), QXcbConnection::setFocusWindow(), and QTimer::start().
Referenced by destroy(), and handleFocusOutEvent().
Definition at line 2363 of file qxcbwindow.cpp.
References QXcbBasicConnection::atom(), QXcbAtom::Atom_NET_WM_MOVERESIZE, QXcbObject::connection(), qCDebug, qtEdgesToXcbMoveResizeDirection(), QXcbConnection::setDuringSystemMoveResize(), QPoint::x(), QXcbObject::xcb_connection(), xcb_window(), xcbScreen(), and QPoint::y().
Referenced by startSystemMoveResize().
|
overridevirtual |
Returns the actual surface format of the window.
Reimplemented from QPlatformWindow.
Definition at line 1428 of file qxcbwindow.cpp.
References m_format.
Referenced by QXcbVulkanWindow::resolveFormat().
|
overridevirtual |
Reimplemented from QPlatformWindow.
Definition at line 563 of file qxcbwindow.cpp.
References QXcbObject::atom(), QXcbAtom::Atom_NET_FRAME_EXTENTS, QXcbObject::connection(), QPlatformWindow::geometry(), QRect::height(), QListSpecialMethodsBase< T >::indexOf(), m_dirtyFrameMargins, m_frameMargins, m_window, QObject::parent(), QPlatformWindow::parent(), Q_XCB_REPLY, Q_XCB_REPLY_UNCHECKED, reply, QXcbWMSupport::virtualRoots(), QRect::width(), QPlatformWindow::window(), QXcbConnection::wmSupport(), and QXcbObject::xcb_connection().
|
overridevirtual |
Reimplemented from QXcbWindowEventListener.
Definition at line 1987 of file qxcbwindow.cpp.
References QXcbObject::connection(), handleButtonPressEvent(), QXcbConnection::keyboard(), QEvent::MouseButtonPress, and QXcbKeyboard::translateModifiers().
Referenced by handleButtonPressEvent(), and handleXIMouseEvent().
|
protected |
Definition at line 1821 of file qxcbwindow.cpp.
References Qt::AltModifier, Qt::BypassWindowManagerHint, QXcbObject::connection(), QGuiApplication::focusWindow(), QObjectPrivate::get(), global, handleMouseEvent(), QWindowSystemInterface::handleWheelEvent(), m_embedded, m_trayIconWindow, QPlatformWindow::parent(), Qt::Popup, Q_ASSERT, sendXEmbedMessage(), QXcbConnection::setMousePressWindow(), QPoint::setX(), QPoint::setY(), Qt::ToolTip, QPoint::transposed(), updateNetWmUserTime(), QPlatformWindow::window(), Qt::WindowDoesNotAcceptFocus, xcb_window(), and XEMBED_REQUEST_FOCUS.
|
overridevirtual |
Reimplemented from QXcbWindowEventListener.
Definition at line 1994 of file qxcbwindow.cpp.
References QXcbObject::connection(), handleButtonReleaseEvent(), QXcbConnection::keyboard(), QEvent::MouseButtonRelease, and QXcbKeyboard::translateModifiers().
Referenced by handleButtonReleaseEvent(), and handleXIMouseEvent().
|
protected |
Definition at line 1871 of file qxcbwindow.cpp.
References QXcbObject::connection(), global, handleMouseEvent(), Qt::NoButton, and QXcbConnection::setMousePressWindow().
|
overridevirtual |
Reimplemented from QXcbWindowEventListener.
Definition at line 1644 of file qxcbwindow.cpp.
References QXcbObject::atom(), QXcbAtom::Atom_COMPIZ_DECOR_DELETE_PIXMAP, QXcbAtom::Atom_COMPIZ_DECOR_PENDING, QXcbAtom::Atom_COMPIZ_DECOR_REQUEST, QXcbAtom::Atom_COMPIZ_TOOLKIT_ACTION, QXcbAtom::Atom_GTK_LOAD_ICONTHEMES, QXcbAtom::Atom_NET_ACTIVE_WINDOW, QXcbAtom::Atom_NET_WM_CONTEXT_HELP, QXcbAtom::Atom_NET_WM_PING, QXcbAtom::Atom_NET_WM_STATE, QXcbAtom::Atom_NET_WM_SYNC_REQUEST, QXcbAtom::Atom_XEMBED, QXcbAtom::AtomMANAGER, QXcbBasicConnection::atomName(), QXcbAtom::AtomWM_CHANGE_STATE, QXcbAtom::AtomWM_DELETE_WINDOW, QXcbAtom::AtomWM_PROTOCOLS, QXcbAtom::AtomWM_TAKE_FOCUS, QXcbAtom::AtomXdndDrop, QXcbAtom::AtomXdndEnter, QXcbAtom::AtomXdndLeave, QXcbAtom::AtomXdndPosition, QXcbObject::connection(), doFocusIn(), QWindowSystemInterface::handleCloseEvent(), handleXEmbedMessage(), m_syncState, m_syncValue, qCWarning, relayFocusToModalWindow(), reply, QXcbScreen::root(), QXcbConnection::setTime(), SyncReceived, QPlatformWindow::window(), QXcbObject::xcb_connection(), and xcbScreen().
|
overridevirtual |
Reimplemented from QXcbWindowEventListener.
Definition at line 1714 of file qxcbwindow.cpp.
References QXcbObject::connection(), QHighDpiScaling::factor(), fromSendEvent(), QWindowSystemInterface::handleExposeEvent(), QWindowSystemInterface::handleGeometryChange(), QWindowSystemInterface::handleWindowScreenChanged(), QRect::height(), QSize::height(), QSize::isEmpty(), m_dirtyFrameMargins, m_oldWindowSize, m_sizeHintsScaleFactor, m_syncState, QPlatformWindow::parent(), pos, propagateSizeHints(), Q_XCB_REPLY, qFuzzyCompare(), reply, QPlatformScreen::screen(), QPlatformWindow::screen(), QPlatformWindow::screenForGeometry(), QRect::size(), SyncAndConfigureReceived, SyncReceived, QRect::width(), QSize::width(), QPlatformWindow::window(), QXcbObject::xcb_connection(), xcb_window(), and xcbScreen().
|
overridevirtual |
Reimplemented from QXcbWindowEventListener.
Definition at line 2123 of file qxcbwindow.cpp.
References handleEnterNotifyEvent().
Referenced by handleEnterNotifyEvent(), and handleXIEnterLeave().
|
protected |
Definition at line 1922 of file qxcbwindow.cpp.
References QXcbObject::connection(), global, QWindowSystemInterface::handleEnterEvent(), ignoreEnterEvent(), QXcbConnection::setTime(), QPlatformWindow::window(), and QXcbConnection::xi2UpdateScrollingDevices().
|
overridevirtual |
Reimplemented from QXcbWindowEventListener.
Definition at line 1616 of file qxcbwindow.cpp.
References QXcbObject::connection(), QXcbConnection::eventQueue(), QWindowSystemInterface::handleExposeEvent(), m_exposeRegion, m_window, QXcbEventQueue::peek(), QXcbEventQueue::PeekConsumeMatchAndContinue, pending, rect, and QPlatformWindow::window().
|
overridevirtual |
Reimplemented from QXcbWindowEventListener.
Definition at line 2184 of file qxcbwindow.cpp.
References QXcbObject::connection(), doFocusIn(), QXcbConnection::focusInTimer(), and QTimer::stop().
|
overridevirtual |
Reimplemented from QXcbWindowEventListener.
Definition at line 2196 of file qxcbwindow.cpp.
References doFocusOut().
|
overridevirtual |
Reimplemented from QXcbWindowEventListener.
Definition at line 2128 of file qxcbwindow.cpp.
References handleLeaveNotifyEvent().
Referenced by handleLeaveNotifyEvent(), and handleXIEnterLeave().
|
protected |
Definition at line 1939 of file qxcbwindow.cpp.
References QXcbObject::connection(), QXcbConnection::eventQueue(), global, QWindowSystemInterface::handleEnterLeaveEvent(), QWindowSystemInterface::handleLeaveEvent(), ignoreEnterEvent(), ignoreLeaveEvent(), QXcbEventQueue::peek(), QXcbConnection::platformWindowFromId(), QXcbConnection::setTime(), and QPlatformWindow::window().
|
overridevirtual |
Reimplemented from QXcbWindowEventListener.
Definition at line 1802 of file qxcbwindow.cpp.
References QPlatformWindow::geometry(), QWindowSystemInterface::handleExposeEvent(), m_deferredActivation, m_mapped, m_window, requestActivateWindow(), and QPlatformWindow::window().
|
overridevirtual |
Reimplemented from QXcbWindowEventListener.
Definition at line 2001 of file qxcbwindow.cpp.
References QXcbObject::connection(), handleMotionNotifyEvent(), QXcbConnection::keyboard(), QEvent::MouseMove, and QXcbKeyboard::translateModifiers().
Referenced by handleMotionNotifyEvent(), and handleXIMouseEvent().
|
protected |
Definition at line 1968 of file qxcbwindow.cpp.
References QXcbConnection::buttonState(), QXcbObject::connection(), global, handleMouseEvent(), QXcbConnection::mousePressWindow(), Qt::NoButton, and QXcbConnection::setMousePressWindow().
void QXcbWindow::handleMouseEvent | ( | xcb_timestamp_t | time, |
const QPoint & | local, | ||
const QPoint & | global, | ||
Qt::KeyboardModifiers | modifiers, | ||
QEvent::Type | type, | ||
Qt::MouseEventSource | source | ||
) |
Definition at line 2111 of file qxcbwindow.cpp.
References button, QXcbConnection::button(), QXcbObject::connection(), global, QWindowSystemInterface::handleMouseEvent(), m_lastPointerGlobalPosition, m_lastPointerPosition, QEvent::MouseMove, Qt::NoButton, QXcbConnection::setTime(), time, and QPlatformWindow::window().
Referenced by handleButtonPressEvent(), handleButtonReleaseEvent(), and handleMotionNotifyEvent().
|
overridevirtual |
Reimplemented from QXcbWindowEventListener.
Definition at line 1609 of file qxcbwindow.cpp.
References QXcbObject::connection(), QWindowSystemInterface::handleNativeEvent(), QXcbNativeInterface::nativeEventType(), QXcbConnection::nativeInterface(), and QPlatformWindow::window().
|
overridevirtual |
Reimplemented from QXcbWindowEventListener.
Definition at line 2133 of file qxcbwindow.cpp.
References QXcbObject::atom(), QXcbAtom::Atom_NET_FRAME_EXTENTS, QXcbAtom::Atom_NET_WM_STATE, QXcbAtom::AtomWM_STATE, QXcbObject::connection(), QWindowSystemInterface::handleWindowStateChanged(), m_dirtyFrameMargins, m_lastWindowStateEvent, m_minimized, m_window, m_windowState, NetWmStateFullScreen, NetWmStateHidden, NetWmStateMaximizedHorz, NetWmStateMaximizedVert, netWmStates(), newState(), Q_XCB_REPLY, reply, QXcbConnection::setMouseGrabber(), QXcbConnection::setTime(), QPlatformWindow::window(), Qt::WindowFullScreen, Qt::WindowMaximized, Qt::WindowMinimized, Qt::WindowNoState, and QXcbObject::xcb_connection().
|
overridevirtual |
Reimplemented from QXcbWindowEventListener.
Definition at line 1813 of file qxcbwindow.cpp.
References QWindowSystemInterface::handleExposeEvent(), m_mapped, m_window, and QPlatformWindow::window().
|
protected |
Definition at line 2419 of file qxcbwindow.cpp.
References activeWindowChangeQueued(), Qt::BacktabFocusReason, QXcbObject::connection(), QXcbConnection::focusInTimer(), QGuiApplication::focusWindow(), QWindowSystemInterface::handleWindowActivated(), m_window, Qt::OtherFocusReason, QXcbConnection::setFocusWindow(), QXcbConnection::setTime(), QTimer::stop(), Qt::TabFocusReason, QPlatformWindow::window(), QXcbScreen::windowShown(), QXcbObject::xcb_connection(), xcbScreen(), XEMBED_EMBEDDED_NOTIFY, XEMBED_FOCUS_CURRENT, XEMBED_FOCUS_FIRST, XEMBED_FOCUS_IN, XEMBED_FOCUS_LAST, XEMBED_FOCUS_OUT, XEMBED_WINDOW_ACTIVATE, and XEMBED_WINDOW_DEACTIVATE.
Referenced by handleClientMessageEvent().
|
overridevirtual |
Reimplemented from QXcbWindowEventListener.
Definition at line 2076 of file qxcbwindow.cpp.
References QXcbObject::connection(), QGuiApplicationPrivate::currentMouseWindow, fixed1616ToInt(), handleEnterNotifyEvent(), handleLeaveNotifyEvent(), QXcbConnection::keyboard(), QXcbConnection::mouseGrabber(), qCDebug, QXcbKeyboard::updateXKBStateFromXI(), and QPlatformWindow::window().
|
overridevirtual |
Reimplemented from QXcbWindowEventListener.
Definition at line 2015 of file qxcbwindow.cpp.
References button, QXcbObject::connection(), fixed1616ToInt(), handleButtonPressEvent(), handleButtonReleaseEvent(), handleMotionNotifyEvent(), i, QXcbConnection::isTouchScreen(), QXcbConnection::keyboard(), metaObject(), QEvent::MouseButtonPress, QEvent::MouseButtonRelease, QEvent::MouseMove, Q_UNLIKELY, qCDebug, qt_xcb_mask_is_set, qWarning, QXcbConnection::setButtonState(), QXcbKeyboard::translateModifiers(), QXcbConnection::translateMouseButton(), QXcbKeyboard::updateXKBStateFromXI(), QMetaEnum::valueToKey(), and QXcbConnection::xiToQtMouseButton().
|
protected |
Definition at line 699 of file qxcbwindow.cpp.
References childWindowAt(), QXcbObject::connection(), QRect::contains(), QXcbScreen::cursor(), QHighDpiScaling::factor(), QHighDpi::fromNativePixels(), QPlatformScreen::geometry(), QWindowSystemInterface::handleEnterEvent(), m_mapped, m_window, QPlatformCursor::pos(), QXcbScreen::root(), QPlatformScreen::screen(), QPlatformWindow::screen(), QXcbConnection::setMouseGrabber(), QXcbConnection::setMousePressWindow(), QHighDpi::toNativePixels(), QPlatformScreen::topLevelAt(), QXcbScreen::virtualSiblings(), QPlatformWindow::window(), QXcbObject::xcb_connection(), and xcbScreen().
Referenced by setVisible().
|
inline |
Definition at line 93 of file qxcbwindow.h.
|
inline |
Definition at line 94 of file qxcbwindow.h.
Referenced by QXcbBackingStore::endPaint().
|
protected |
Definition at line 100 of file qxcbwindow.cpp.
References QPlatformWindow::geometry(), qt_window_private(), QPlatformWindow::screen(), QWindowPrivate::screenForGeometry(), and QPlatformWindow::window().
Referenced by create().
|
inlineoverridevirtual |
Reimplement this method return whether the window is in an alert state.
Reimplemented from QPlatformWindow.
Definition at line 89 of file qxcbwindow.h.
|
overridevirtual |
Returns true
if the window is a child of a non-Qt window.
A embedded window has no parent platform window as reflected though parent(), but will have a native parent window.
Reimplemented from QPlatformWindow.
Definition at line 1763 of file qxcbwindow.cpp.
References m_embedded.
|
overridevirtual |
Returns if this window is exposed in the windowing system.
An exposeEvent() is sent every time this value changes.
Reimplemented from QPlatformWindow.
Definition at line 1758 of file qxcbwindow.cpp.
References m_mapped.
|
inlinestatic |
Definition at line 144 of file qxcbwindow.h.
References window().
Referenced by create(), QXcbIntegration::createPlatformBackingStore(), and QXcbIntegration::createPlatformWindow().
|
inline |
Definition at line 139 of file qxcbwindow.h.
|
inline |
Definition at line 138 of file qxcbwindow.h.
|
overridevirtual |
Reimplement to be able to let Qt lower windows to the bottom of the desktop.
Reimplemented from QPlatformWindow.
Definition at line 1328 of file qxcbwindow.cpp.
References m_window, and QXcbObject::xcb_connection().
Translates the global screen coordinate pos to window coordinates using native methods.
This is required for embedded windows, where the topmost QWindow coordinates are not global screen coordinates.
Returns pos if there is no platform specific implementation.
Reimplemented from QPlatformWindow.
Definition at line 1785 of file qxcbwindow.cpp.
References m_embedded, QPlatformWindow::mapFromGlobal(), pos, Q_XCB_REPLY, reply, ret, QXcbObject::xcb_connection(), xcb_window(), and xcbScreen().
Translates the window coordinate pos to global screen coordinates using native methods.
This is required for embedded windows, where the topmost QWindow coordinates are not global screen coordinates.
Returns pos if there is no platform specific implementation.
Reimplemented from QPlatformWindow.
Definition at line 1768 of file qxcbwindow.cpp.
References m_embedded, QPlatformWindow::mapToGlobal(), pos, Q_XCB_REPLY, reply, ret, QXcbObject::xcb_connection(), xcb_window(), and xcbScreen().
Referenced by startSystemMoveResize().
bool QXcbWindow::needsSync | ( | ) | const |
Definition at line 2524 of file qxcbwindow.cpp.
References m_syncState, and SyncAndConfigureReceived.
Referenced by QXcbNativeBackingStore::flush(), QXcbBackingStore::flush(), QXcbBackingStore::rhiFlush(), QXcbEglContext::swapBuffers(), and QGLXContext::swapBuffers().
|
protected |
Definition at line 822 of file qxcbwindow.cpp.
References QXcbObject::atom(), QXcbAtom::Atom_NET_WM_STATE, QXcbAtom::Atom_NET_WM_STATE_ABOVE, QXcbAtom::Atom_NET_WM_STATE_BELOW, QXcbAtom::Atom_NET_WM_STATE_DEMANDS_ATTENTION, QXcbAtom::Atom_NET_WM_STATE_FULLSCREEN, QXcbAtom::Atom_NET_WM_STATE_HIDDEN, QXcbAtom::Atom_NET_WM_STATE_MAXIMIZED_HORZ, QXcbAtom::Atom_NET_WM_STATE_MAXIMIZED_VERT, QXcbAtom::Atom_NET_WM_STATE_MODAL, QXcbAtom::Atom_NET_WM_STATE_STAYS_ON_TOP, m_window, NetWmStateAbove, NetWmStateBelow, NetWmStateDemandsAttention, NetWmStateFullScreen, NetWmStateHidden, NetWmStateMaximizedHorz, NetWmStateMaximizedVert, NetWmStateModal, NetWmStateStaysOnTop, Q_XCB_REPLY_UNCHECKED, qCDebug, reply, and QXcbObject::xcb_connection().
Referenced by handlePropertyNotifyEvent().
|
protected |
Definition at line 95 of file qxcbwindow.cpp.
References QPlatformWindow::parent(), parentScreen(), and xcbScreen().
Referenced by create(), parentScreen(), and setGeometry().
void QXcbWindow::postSyncWindowRequest | ( | ) |
Definition at line 2529 of file qxcbwindow.cpp.
References QXcbObject::connection(), e, m_pendingSyncRequest, QCoreApplication::postEvent(), and xcbScreen().
Referenced by QXcbEglContext::swapBuffers(), and QGLXContext::swapBuffers().
|
overridevirtual |
Reimplement to propagate the size hints of the QWindow.
The size hints include QWindow::minimumSize(), QWindow::maximumSize(), QWindow::sizeIncrement(), and QWindow::baseSize().
Reimplemented from QPlatformWindow.
Definition at line 1335 of file qxcbwindow.cpp.
References QHighDpiScaling::factor(), QPlatformWindow::geometry(), QSize::height(), m_sizeHintsScaleFactor, m_window, qMin(), qt_window_private(), QWINDOWSIZE_MAX, rect, QPlatformWindow::screen(), QSize::width(), win, QPlatformWindow::window(), QPlatformWindow::windowBaseSize(), QWindowPrivate::WindowFrameInclusive, QPlatformWindow::windowMaximumSize(), QPlatformWindow::windowMinimumSize(), QPlatformWindow::windowSizeIncrement(), QXcbObject::xcb_connection(), and XCOORD_MAX.
Referenced by create(), handleConfigureNotifyEvent(), setGeometry(), and show().
|
overridevirtual |
Reimplement to be able to let Qt raise windows to the top of the desktop.
Reimplemented from QPlatformWindow.
Definition at line 1321 of file qxcbwindow.cpp.
References m_window, and QXcbObject::xcb_connection().
|
protected |
Definition at line 760 of file qxcbwindow.cpp.
References QXcbObject::connection(), QXcbConnection::flush(), QObjectPrivate::get(), QGuiApplicationPrivate::instance(), QGuiApplicationPrivate::isWindowBlocked(), QObjectData::parent, and QPlatformWindow::window().
Referenced by doFocusIn(), doFocusOut(), and handleClientMessageEvent().
|
overridevirtual |
Reimplement to let Qt be able to request activation/focus for a window.
Some window systems will probably not have callbacks for this functionality, and then calling QWindowSystemInterface::handleWindowActivated(QWindow *w) would be sufficient.
If the window system has some event handling/callbacks then call QWindowSystemInterface::handleWindowActivated(QWindow *w) when the window system gives the notification.
Default implementation calls QWindowSystem::handleWindowActivated(QWindow *w)
Reimplemented from QPlatformWindow.
Definition at line 1383 of file qxcbwindow.cpp.
References QXcbObject::atom(), QXcbAtom::Atom_NET_ACTIVE_WINDOW, QXcbObject::connection(), QGuiApplication::focusWindow(), QPlatformWindow::isAncestorOf(), m_deferredActivation, m_embedded, m_mapped, m_window, QPlatformWindow::requestActivateWindow(), QXcbConnection::sync(), time, QXcbConnection::time(), updateNetWmUserTime(), QPlatformWindow::window(), Qt::X11BypassWindowManagerHint, QXcbObject::xcb_connection(), and xcbScreen().
Referenced by handleMapNotifyEvent(), and show().
bool QXcbWindow::requestSystemTrayWindowDock | ( | ) |
Definition at line 1601 of file qxcbwindow.cpp.
References QXcbObject::connection(), m_window, QXcbSystemTrayTracker::requestSystemTrayWindowDock(), QXcbConnection::systemTrayTracker(), and systemTrayTracker().
Referenced by create().
|
inlineprotectedvirtual |
Reimplemented in QXcbEglWindow, and QXcbVulkanWindow.
Definition at line 162 of file qxcbwindow.h.
Referenced by create().
|
protected |
Definition at line 2390 of file qxcbwindow.cpp.
References QXcbObject::atom(), QXcbAtom::Atom_XEMBED, QXcbObject::connection(), QXcbConnection::time(), QPlatformWindow::window(), and QXcbObject::xcb_connection().
Referenced by handleButtonPressEvent(), and windowEvent().
|
overridevirtual |
Reimplement this method to set whether the window demands attention (for example, by flashing the taskbar icon) depending on enabled.
Reimplemented from QPlatformWindow.
Definition at line 2509 of file qxcbwindow.cpp.
References QXcbObject::atom(), QXcbAtom::Atom_NET_WM_STATE_DEMANDS_ATTENTION, enabled, m_alertState, and setNetWmState().
This function is called by Qt whenever a window is moved or resized using the QWindow API.
Unless you also override QPlatformWindow::geometry(), you need to call the baseclass implementation of this function in any override of QPlatformWindow::setGeometry(), as QWindow::geometry() is expected to report back the set geometry until a confirmation (or rejection) of the new geometry comes back from the window manager and is reported via QWindowSystemInterface::handleGeometryChange().
Window move/resizes can also be triggered spontaneously by the window manager, or as a response to an earlier requested move/resize via the Qt APIs. There is no need to call this function from the window manager callback, instead call QWindowSystemInterface::handleGeometryChange().
The position(x, y) part of the rect might be inclusive or exclusive of the window frame as returned by frameMargins(). You can detect this in the plugin by checking qt_window_private(window())->positionPolicy.
Reimplemented from QPlatformWindow.
Definition at line 516 of file qxcbwindow.cpp.
References QXcbObject::connection(), QWindowSystemInterface::handleWindowScreenChanged(), m_window, QPlatformWindow::parent(), parentScreen(), propagateSizeHints(), qt_window_private(), rect, QPlatformWindow::screenForGeometry(), QPlatformWindow::setGeometry(), setWindowState(), QXcbConnection::sync(), QPlatformWindow::window(), Qt::WindowNoState, QXcbObject::xcb_connection(), xcbScreen(), and XCOORD_MAX.
|
protected |
Definition at line 122 of file qxcbwindow.cpp.
References QXcbObject::connection(), QImage::Format_RGB16, QImage::Format_RGB32, m_depth, m_imageFormat, m_imageRgbSwap, qt_xcb_imageFormatForVisual(), and qWarning.
Referenced by create().
|
overridevirtual |
Reimplemented from QPlatformWindow.
Definition at line 2227 of file qxcbwindow.cpp.
References QXcbObject::connection(), m_window, Q_XCB_REPLY, reply, and QXcbObject::xcb_connection().
Reimplement to be able to let Qt set the mask of a window.
Reimplemented from QPlatformWindow.
Definition at line 2494 of file qxcbwindow.cpp.
References QXcbObject::connection(), QRegion::isEmpty(), qRegionToXcbRectangleList(), QXcbObject::xcb_connection(), and xcb_window().
Referenced by create().
|
protected |
Definition at line 897 of file qxcbwindow.cpp.
References QXcbObject::atom(), QXcbAtom::Atom_MOTIF_WM_HINTS, Qt::CustomizeWindowHint, QtMotifWmHints::decorations, QtMotifWmHints::flags, Qt::FramelessWindowHint, QtMotifWmHints::functions, m_window, MWM_DECOR_ALL, MWM_DECOR_BORDER, MWM_DECOR_MAXIMIZE, MWM_DECOR_MENU, MWM_DECOR_MINIMIZE, MWM_DECOR_RESIZEH, MWM_DECOR_TITLE, MWM_FUNC_ALL, MWM_FUNC_CLOSE, MWM_FUNC_MAXIMIZE, MWM_FUNC_MINIMIZE, MWM_FUNC_MOVE, MWM_FUNC_RESIZE, MWM_HINTS_DECORATIONS, MWM_HINTS_FUNCTIONS, Qt::SplashScreen, Qt::Window, Qt::WindowCloseButtonHint, Qt::WindowMaximizeButtonHint, Qt::WindowMinimizeButtonHint, Qt::WindowMinMaxButtonsHint, Qt::WindowSystemMenuHint, Qt::WindowTitleHint, Qt::WindowType_Mask, and QXcbObject::xcb_connection().
Referenced by setWindowFlags().
|
overridevirtual |
Reimplemented from QPlatformWindow.
Definition at line 2243 of file qxcbwindow.cpp.
References QXcbObject::connection(), m_window, Q_XCB_REPLY, reply, QXcbConnection::setMouseGrabber(), QXcbObject::xcb_connection(), and QXcbConnection::xi2SetMouseGrabEnabled().
|
protected |
Definition at line 974 of file qxcbwindow.cpp.
References QXcbObject::atom(), QXcbAtom::Atom_NET_WM_STATE, m_window, set, QXcbObject::xcb_connection(), and xcbScreen().
Referenced by setAlertState(), setNetWmState(), setNetWmState(), setWindowFlags(), and setWindowState().
|
protected |
Definition at line 1006 of file qxcbwindow.cpp.
References QXcbObject::atom(), QXcbAtom::Atom_NET_WM_STATE_ABOVE, QXcbAtom::Atom_NET_WM_STATE_BELOW, QXcbAtom::Atom_NET_WM_STATE_STAYS_ON_TOP, setNetWmState(), Qt::WindowStaysOnBottomHint, and Qt::WindowStaysOnTopHint.
|
protected |
Definition at line 994 of file qxcbwindow.cpp.
References QXcbObject::atom(), QXcbAtom::Atom_NET_WM_STATE_FULLSCREEN, QXcbAtom::Atom_NET_WM_STATE_MAXIMIZED_HORZ, QXcbAtom::Atom_NET_WM_STATE_MAXIMIZED_VERT, m_windowState, setNetWmState(), state, Qt::WindowFullScreen, and Qt::WindowMaximized.
|
protected |
Definition at line 1014 of file qxcbwindow.cpp.
References QXcbObject::atom(), QXcbAtom::Atom_NET_WM_STATE, QXcbAtom::Atom_NET_WM_STATE_ABOVE, QXcbAtom::Atom_NET_WM_STATE_BELOW, QXcbAtom::Atom_NET_WM_STATE_DEMANDS_ATTENTION, QXcbAtom::Atom_NET_WM_STATE_FULLSCREEN, QXcbAtom::Atom_NET_WM_STATE_HIDDEN, QXcbAtom::Atom_NET_WM_STATE_MAXIMIZED_HORZ, QXcbAtom::Atom_NET_WM_STATE_MAXIMIZED_VERT, QXcbAtom::Atom_NET_WM_STATE_MODAL, QXcbAtom::Atom_NET_WM_STATE_STAYS_ON_TOP, QList< T >::constData(), QListSpecialMethodsBase< T >::contains(), QList< T >::first(), QWindow::flags, QList< T >::isEmpty(), m_mapped, m_window, NetWmStateAbove, NetWmStateBelow, NetWmStateDemandsAttention, NetWmStateFullScreen, NetWmStateHidden, NetWmStateMaximizedHorz, NetWmStateMaximizedVert, NetWmStateModal, NetWmStateStaysOnTop, Qt::NonModal, QList< T >::push_back(), Q_FUNC_INFO, Q_UNLIKELY, Q_XCB_REPLY_UNCHECKED, qCWarning, reply, QList< T >::resize(), QList< T >::size(), QPlatformWindow::window(), Qt::WindowFullScreen, Qt::WindowMaximized, Qt::WindowMinimized, Qt::WindowStaysOnBottomHint, Qt::WindowStaysOnTopHint, and QXcbObject::xcb_connection().
Referenced by show().
Reimplement to be able to let Qt set the opacity level of a window.
Reimplemented from QPlatformWindow.
Definition at line 2468 of file qxcbwindow.cpp.
References QXcbObject::atom(), QXcbAtom::Atom_NET_WM_WINDOW_OPACITY, m_window, qBound(), qRound64(), and QXcbObject::xcb_connection().
Referenced by create().
|
overridevirtual |
This function is called to enable native child window in QPA.
It is common not to support this feature in Window systems, but can be faked. When this function is called all geometry of this platform window will be relative to the parent.
Reimplemented from QPlatformWindow.
Definition at line 1238 of file qxcbwindow.cpp.
References QPlatformWindow::geometry(), QPlatformWindow::isForeignWindow(), m_embedded, QPlatformWindow::parent(), QXcbScreen::root(), QRect::topLeft(), QPoint::x(), QXcbObject::xcb_connection(), xcb_window(), xcbScreen(), and QPoint::y().
void QXcbWindow::setParentRelativeBackPixmap | ( | ) |
Definition at line 1594 of file qxcbwindow.cpp.
References m_window, and QXcbObject::xcb_connection().
|
inline |
Definition at line 156 of file qxcbwindow.h.
|
protected |
Definition at line 1194 of file qxcbwindow.cpp.
References QXcbObject::connection(), QPlatformWindow::geometry(), QRect::height(), m_transparent, m_window, rect, QRect::width(), and QXcbObject::xcb_connection().
Referenced by setWindowFlags().
|
overridevirtual |
Reimplemented in subclasses to show the surface if visible is true
, and hide it if visible is false
.
The default implementation sends a synchronous expose event.
Reimplemented from QPlatformWindow.
Definition at line 636 of file qxcbwindow.cpp.
References hide(), and show().
|
overridevirtual |
Requests setting the window flags of this surface to flags.
Reimplemented from QPlatformWindow.
Definition at line 858 of file qxcbwindow.cpp.
References Qt::BypassWindowManagerHint, contains(), defaultEventMask, QWindow::flags, Qt::FramelessWindowHint, m_recreationReasons, Qt::Popup, property, setMotifWmHints(), setNetWmState(), setTransparentForMouseEvents(), setWmWindowType(), Qt::ToolTip, transparentForInputEventMask, updateDoesNotAcceptFocus(), QPlatformWindow::window(), Qt::WindowDoesNotAcceptFocus, Qt::WindowStaysOnBottomHint, WindowStaysOnBottomHintChanged, Qt::WindowStaysOnTopHint, WindowStaysOnTopHintChanged, Qt::WindowTransparentForInput, Qt::WindowType_Mask, wm_window_type_property_id, wmWindowTypes(), Qt::X11BypassWindowManagerHint, QXcbObject::xcb_connection(), and xcb_window().
Referenced by create().
Reimplement to set the window icon to icon.
Reimplemented from QPlatformWindow.
Definition at line 1272 of file qxcbwindow.cpp.
References QList< T >::at(), QXcbObject::atom(), QXcbAtom::Atom_NET_WM_ICON, QXcbAtom::AtomCARDINAL, QIcon::availableSizes(), QList< T >::data(), QImage::Format_ARGB32, i, icon, QList< T >::isEmpty(), QIcon::isNull(), m_window, QIcon::pixmap(), pixmap, pos, QList< T >::push_back(), qWarning, QList< T >::resize(), QList< T >::size(), and QXcbObject::xcb_connection().
Referenced by create().
Definition at line 1259 of file qxcbwindow.cpp.
References QXcbObject::atom(), QXcbAtom::Atom_NET_WM_ICON_NAME, QXcbAtom::AtomUTF8_STRING, ba, QByteArray::constData(), m_window, QByteArray::size(), title, QString::toUtf8(), and QXcbObject::xcb_connection().
Definition at line 1586 of file qxcbwindow.cpp.
References QXcbObject::atom(), QXcbAtom::AtomWM_WINDOW_ROLE, m_window, roleData, QString::toLatin1(), and QXcbObject::xcb_connection().
Referenced by create().
|
overridevirtual |
Requests setting the window state of this surface to type.
Qt::WindowActive can be ignored.
Reimplemented from QPlatformWindow.
Definition at line 1089 of file qxcbwindow.cpp.
References QXcbObject::atom(), QXcbAtom::Atom_NET_WM_STATE_FULLSCREEN, QXcbAtom::Atom_NET_WM_STATE_MAXIMIZED_HORZ, QXcbAtom::Atom_NET_WM_STATE_MAXIMIZED_VERT, QXcbAtom::AtomWM_CHANGE_STATE, QXcbObject::connection(), m_minimized, m_window, m_windowState, setNetWmState(), state, QXcbConnection::sync(), Qt::WindowFullScreen, Qt::WindowMaximized, Qt::WindowMinimized, QXcbObject::xcb_connection(), and xcbScreen().
Referenced by create(), and setGeometry().
Reimplement to set the window title to title.
The implementation might want to append the application display name to the window title, like Windows and Linux do.
Reimplemented from QPlatformWindow.
Definition at line 1254 of file qxcbwindow.cpp.
References QXcbObject::connection(), m_window, setWindowTitle(), and title.
Referenced by QXcbConnection::clientLeader(), create(), QXcbConnection::qtSelectionOwner(), QXcbClipboard::requestor(), setWindowTitle(), and updateNetWmUserTime().
|
static |
Definition at line 2543 of file qxcbwindow.cpp.
References QXcbBasicConnection::atom(), QXcbAtom::Atom_NET_WM_NAME, QXcbAtom::AtomUTF8_STRING, ba, QByteArray::constData(), QPlatformWindow::formatWindowTitle(), QString::fromUtf8(), QByteArray::size(), text, title, QPlatformWindow::window(), and QXcbBasicConnection::xcb_connection().
|
inlineoverride |
Definition at line 124 of file qxcbwindow.h.
References window().
void QXcbWindow::setWmWindowType | ( | WindowTypes | types, |
Qt::WindowFlags | flags | ||
) |
Definition at line 1499 of file qxcbwindow.cpp.
References QList< T >::append(), QXcbObject::atom(), QXcbAtom::Atom_KDE_NET_WM_WINDOW_TYPE_OVERRIDE, QXcbAtom::Atom_NET_WM_WINDOW_TYPE, QXcbAtom::Atom_NET_WM_WINDOW_TYPE_COMBO, QXcbAtom::Atom_NET_WM_WINDOW_TYPE_DESKTOP, QXcbAtom::Atom_NET_WM_WINDOW_TYPE_DIALOG, QXcbAtom::Atom_NET_WM_WINDOW_TYPE_DND, QXcbAtom::Atom_NET_WM_WINDOW_TYPE_DOCK, QXcbAtom::Atom_NET_WM_WINDOW_TYPE_DROPDOWN_MENU, QXcbAtom::Atom_NET_WM_WINDOW_TYPE_MENU, QXcbAtom::Atom_NET_WM_WINDOW_TYPE_NORMAL, QXcbAtom::Atom_NET_WM_WINDOW_TYPE_NOTIFICATION, QXcbAtom::Atom_NET_WM_WINDOW_TYPE_POPUP_MENU, QXcbAtom::Atom_NET_WM_WINDOW_TYPE_SPLASH, QXcbAtom::Atom_NET_WM_WINDOW_TYPE_TOOLBAR, QXcbAtom::Atom_NET_WM_WINDOW_TYPE_TOOLTIP, QXcbAtom::Atom_NET_WM_WINDOW_TYPE_UTILITY, QList< T >::clear(), QList< T >::constData(), Qt::Dialog, Qt::Drawer, QList< T >::first(), Qt::FramelessWindowHint, QList< T >::isEmpty(), m_window, Qt::Sheet, QList< T >::size(), Qt::SplashScreen, Qt::Tool, Qt::ToolTip, Qt::WindowType_Mask, and QXcbObject::xcb_connection().
Referenced by setWindowFlags().
|
protected |
Definition at line 644 of file qxcbwindow.cpp.
References QXcbConnection::clientLeader(), QXcbObject::connection(), create(), isTransient(), m_recreationReasons, m_trayIconWindow, m_window, QGuiApplication::modalWindow(), propagateSizeHints(), QObject::property(), qCDebug, RecreationNotNeeded, requestActivateWindow(), setNetWmStateOnUnmappedWindow(), QXcbConnection::sync(), time, updateNetWmUserTime(), QPlatformWindow::window(), QXcbScreen::windowShown(), QPlatformWindow::winId(), QXcbObject::xcb_connection(), and xcbScreen().
Referenced by setVisible().
|
overridevirtual |
Reimplement this method to start a system move operation if the system supports it and return true to indicate success.
The default implementation is empty and does nothing.
Reimplemented from QPlatformWindow.
Definition at line 2311 of file qxcbwindow.cpp.
References m_lastPointerPosition, and startSystemMoveResize().
bool QXcbWindow::startSystemMoveResize | ( | const QPoint & | pos, |
int | edges | ||
) |
Definition at line 2316 of file qxcbwindow.cpp.
References QXcbConnection::abortSystemMoveResize(), QXcbBasicConnection::atom(), QXcbAtom::Atom_NET_WM_MOVERESIZE, QXcbObject::connection(), doStartSystemMoveResize(), m_window, mapToGlobal(), pos, qCDebug, qgetenv(), QXcbConnection::startSystemMoveResizeForTouch(), and QXcbConnection::windowManagerName().
Referenced by startSystemMove(), and startSystemResize().
|
overridevirtual |
Reimplement this method to start a system resize operation if the system supports it and return true to indicate success.
The default implementation is empty and does nothing with edges.
Reimplemented from QPlatformWindow.
Definition at line 2306 of file qxcbwindow.cpp.
References m_lastPointerPosition, and startSystemMoveResize().
|
inline |
Definition at line 155 of file qxcbwindow.h.
|
overridevirtual |
Reimplemented from QXcbWindowEventListener.
Definition at line 2109 of file qxcbwindow.cpp.
|
protected |
Definition at line 1221 of file qxcbwindow.cpp.
References m_window, and QXcbObject::xcb_connection().
Referenced by setWindowFlags().
void QXcbWindow::updateNetWmUserTime | ( | xcb_timestamp_t | timestamp | ) |
Definition at line 1149 of file qxcbwindow.cpp.
References QXcbObject::atom(), QXcbAtom::Atom_NET_WM_USER_TIME, QXcbAtom::Atom_NET_WM_USER_TIME_WINDOW, QXcbObject::connection(), QXcbWMSupport::isSupportedByWM(), m_netWmUserTimeWindow, m_visualId, m_window, QStringLiteral, QXcbConnection::setNetWmUserTime(), setWindowTitle(), QXcbConnection::wmSupport(), and QXcbObject::xcb_connection().
Referenced by handleButtonPressEvent(), QXcbKeyboard::handleKeyEvent(), requestActivateWindow(), and show().
|
slot |
Definition at line 2205 of file qxcbwindow.cpp.
References QXcbObject::connection(), m_syncCounter, m_syncState, m_syncValue, NoSyncNeeded, SyncAndConfigureReceived, and QXcbObject::xcb_connection().
Referenced by QXcbConnection::event(), QXcbNativeBackingStore::flush(), QXcbBackingStore::flush(), and QXcbBackingStore::rhiFlush().
|
override |
Definition at line 2519 of file qxcbwindow.cpp.
References m_visualId.
Referenced by create().
|
overridevirtual |
Reimplement this method to be able to do any platform specific event handling.
All non-synthetic events for window() are passed to this function before being sent to QWindow::event().
Return true if the event should not be passed on to the QWindow.
Subclasses should always call the base class implementation.
Reimplemented from QPlatformWindow.
Definition at line 2277 of file qxcbwindow.cpp.
References Qt::BacktabFocusReason, QEvent::FocusIn, m_embedded, m_trayIconWindow, QPlatformWindow::parent(), QFocusEvent::reason(), sendXEmbedMessage(), Qt::TabFocusReason, QPlatformWindow::windowEvent(), xcb_window(), XEMBED_FOCUS_NEXT, and XEMBED_FOCUS_PREV.
|
static |
Definition at line 2565 of file qxcbwindow.cpp.
References QXcbBasicConnection::atom(), QXcbAtom::Atom_NET_WM_NAME, QXcbAtom::AtomUTF8_STRING, QXcbAtom::AtomWM_NAME, QString::fromLatin1(), QString::fromUtf8(), Q_XCB_REPLY_UNCHECKED, reply, QPlatformWindow::window(), and QXcbBasicConnection::xcb_connection().
Referenced by QXcbVirtualDesktop::QXcbVirtualDesktop(), dumpNativeWindowsRecursion(), and QXcbDrag::move().
|
overridevirtual |
Reimplement in subclasses to return a handle to the native window.
Reimplemented from QPlatformWindow.
Definition at line 1233 of file qxcbwindow.cpp.
References m_window.
QXcbWindow::WindowTypes QXcbWindow::wmWindowTypes | ( | ) | const |
Definition at line 1433 of file qxcbwindow.cpp.
References QXcbObject::atom(), QXcbAtom::Atom_KDE_NET_WM_WINDOW_TYPE_OVERRIDE, QXcbAtom::Atom_NET_WM_WINDOW_TYPE, QXcbAtom::Atom_NET_WM_WINDOW_TYPE_COMBO, QXcbAtom::Atom_NET_WM_WINDOW_TYPE_DESKTOP, QXcbAtom::Atom_NET_WM_WINDOW_TYPE_DIALOG, QXcbAtom::Atom_NET_WM_WINDOW_TYPE_DND, QXcbAtom::Atom_NET_WM_WINDOW_TYPE_DOCK, QXcbAtom::Atom_NET_WM_WINDOW_TYPE_DROPDOWN_MENU, QXcbAtom::Atom_NET_WM_WINDOW_TYPE_MENU, QXcbAtom::Atom_NET_WM_WINDOW_TYPE_NORMAL, QXcbAtom::Atom_NET_WM_WINDOW_TYPE_NOTIFICATION, QXcbAtom::Atom_NET_WM_WINDOW_TYPE_POPUP_MENU, QXcbAtom::Atom_NET_WM_WINDOW_TYPE_SPLASH, QXcbAtom::Atom_NET_WM_WINDOW_TYPE_TOOLBAR, QXcbAtom::Atom_NET_WM_WINDOW_TYPE_TOOLTIP, QXcbAtom::Atom_NET_WM_WINDOW_TYPE_UTILITY, QXcbObject::connection(), m_window, Q_XCB_REPLY_UNCHECKED, QXcbBasicConnection::qatom(), reply, and QXcbObject::xcb_connection().
Referenced by setWindowFlags().
|
inline |
Definition at line 91 of file qxcbwindow.h.
Referenced by create(), doStartSystemMoveResize(), QXcbNativeBackingStore::flush(), QXcbBackingStore::flush(), handleButtonPressEvent(), handleConfigureNotifyEvent(), mapFromGlobal(), mapToGlobal(), setMask(), setParent(), setWindowFlags(), and windowEvent().
QXcbScreen * QXcbWindow::xcbScreen | ( | ) | const |
Definition at line 2538 of file qxcbwindow.cpp.
References QPlatformWindow::screen().
Referenced by QXcbWindow(), create(), createVisual(), QXcbEglWindow::createVisual(), QXcbGlxWindow::createVisual(), doStartSystemMoveResize(), handleClientMessageEvent(), handleConfigureNotifyEvent(), handleXEmbedMessage(), hide(), mapFromGlobal(), mapToGlobal(), parentScreen(), postSyncWindowRequest(), requestActivateWindow(), setGeometry(), setNetWmState(), setParent(), setWindowState(), and show().
|
protected |
Definition at line 224 of file qxcbwindow.h.
Referenced by setAlertState().
|
protected |
Definition at line 222 of file qxcbwindow.h.
Referenced by handleMapNotifyEvent(), and requestActivateWindow().
|
protected |
Definition at line 211 of file qxcbwindow.h.
Referenced by create(), and setImageFormatForVisual().
|
mutableprotected |
Definition at line 231 of file qxcbwindow.h.
Referenced by frameMargins(), handleConfigureNotifyEvent(), and handlePropertyNotifyEvent().
|
protected |
Definition at line 223 of file qxcbwindow.h.
Referenced by create(), handleButtonPressEvent(), isEmbedded(), mapFromGlobal(), mapToGlobal(), requestActivateWindow(), setParent(), and windowEvent().
|
protected |
Definition at line 234 of file qxcbwindow.h.
Referenced by handleExposeEvent().
|
protected |
Definition at line 229 of file qxcbwindow.h.
Referenced by createVisual(), QXcbGlxWindow::createVisual(), format(), QXcbEglWindow::resolveFormat(), and QXcbVulkanWindow::resolveFormat().
|
mutableprotected |
Definition at line 232 of file qxcbwindow.h.
Referenced by frameMargins().
|
protected |
Definition at line 212 of file qxcbwindow.h.
Referenced by setImageFormatForVisual().
|
protected |
Definition at line 213 of file qxcbwindow.h.
Referenced by setImageFormatForVisual().
|
protected |
Definition at line 237 of file qxcbwindow.h.
Referenced by handleMouseEvent().
|
protected |
Definition at line 236 of file qxcbwindow.h.
Referenced by handleMouseEvent(), startSystemMove(), and startSystemResize().
|
protected |
Definition at line 241 of file qxcbwindow.h.
Referenced by handlePropertyNotifyEvent().
|
protected |
Definition at line 220 of file qxcbwindow.h.
Referenced by destroy(), handleMapNotifyEvent(), handleUnmapNotifyEvent(), hide(), isExposed(), requestActivateWindow(), and setNetWmStateOnUnmappedWindow().
|
protected |
Definition at line 225 of file qxcbwindow.h.
Referenced by handlePropertyNotifyEvent(), and setWindowState().
|
protected |
Definition at line 227 of file qxcbwindow.h.
Referenced by destroy(), and updateNetWmUserTime().
|
protected |
Definition at line 235 of file qxcbwindow.h.
Referenced by handleConfigureNotifyEvent().
|
protected |
Definition at line 250 of file qxcbwindow.h.
Referenced by destroy(), and postSyncWindowRequest().
|
protected |
Definition at line 255 of file qxcbwindow.h.
Referenced by destroy(), setWindowFlags(), and show().
|
protected |
Definition at line 253 of file qxcbwindow.h.
Referenced by handleConfigureNotifyEvent(), and propagateSizeHints().
|
protected |
Definition at line 251 of file qxcbwindow.h.
|
protected |
Definition at line 216 of file qxcbwindow.h.
Referenced by create(), destroy(), and updateSyncRequestCounter().
|
protected |
Definition at line 248 of file qxcbwindow.h.
Referenced by handleClientMessageEvent(), handleConfigureNotifyEvent(), needsSync(), and updateSyncRequestCounter().
|
protected |
Definition at line 215 of file qxcbwindow.h.
Referenced by create(), handleClientMessageEvent(), and updateSyncRequestCounter().
|
protected |
Definition at line 221 of file qxcbwindow.h.
Referenced by setTransparentForMouseEvents().
|
protected |
Definition at line 226 of file qxcbwindow.h.
Referenced by create(), handleButtonPressEvent(), show(), and windowEvent().
|
protected |
Definition at line 239 of file qxcbwindow.h.
Referenced by create(), updateNetWmUserTime(), and visualId().
|
protected |
Definition at line 209 of file qxcbwindow.h.
Referenced by QXcbForeignWindow::QXcbForeignWindow(), QXcbForeignWindow::~QXcbForeignWindow(), create(), QXcbEglWindow::create(), destroy(), frameMargins(), handleExposeEvent(), handleMapNotifyEvent(), handlePropertyNotifyEvent(), handleUnmapNotifyEvent(), handleXEmbedMessage(), hide(), lower(), netWmStates(), propagateSizeHints(), raise(), requestActivateWindow(), requestSystemTrayWindowDock(), setGeometry(), setKeyboardGrabEnabled(), setMotifWmHints(), setMouseGrabEnabled(), setNetWmState(), setNetWmStateOnUnmappedWindow(), setOpacity(), setParentRelativeBackPixmap(), setTransparentForMouseEvents(), setWindowIcon(), setWindowIconText(), setWindowRole(), setWindowState(), setWindowTitle(), setWmWindowType(), show(), startSystemMoveResize(), updateDoesNotAcceptFocus(), updateNetWmUserTime(), winId(), and wmWindowTypes().
|
protected |
Definition at line 218 of file qxcbwindow.h.
Referenced by create(), handlePropertyNotifyEvent(), setNetWmState(), and setWindowState().