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
QPlatformWindow Class Reference

The QPlatformWindow class provides an abstraction for top-level windows. More...

#include <qplatformwindow.h>

+ Inheritance diagram for QPlatformWindow:
+ Collaboration diagram for QPlatformWindow:

Public Member Functions

 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.
 
QWindowwindow () const
 Returns the window which belongs to the QPlatformWindow.
 
QPlatformWindowparent () const
 Returns the parent platform window (or \nullptr if orphan).
 
QPlatformScreenscreen () 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 &region)
 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
 
- Public Member Functions inherited from QPlatformSurface
virtual ~QPlatformSurface ()
 
QSurfacesurface () const
 

Static Public Member Functions

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 Public Member Functions inherited from QPlatformSurface
static bool isRasterSurface (QSurface *surface)
 

Protected Member Functions

QPlatformScreenscreenForGeometry (const QRect &newGeometry) const
 Helper function for finding the new screen for newGeometry in response to a geometry changed event.
 

Static Protected Member Functions

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].
 

Protected Attributes

QScopedPointer< QPlatformWindowPrivated_ptr
 

Detailed Description

The QPlatformWindow class provides an abstraction for top-level windows.

Since
4.8

\preliminary

The QPlatformWindow abstraction is used by QWindow for all its top level windows. It is being created by calling the createPlatformWindow function in the loaded QPlatformIntegration instance.

QPlatformWindow is used to signal to the windowing system, how Qt perceives its frame. However, it is not concerned with how Qt renders into the window it represents.

Visible QWindows will always have a QPlatformWindow. However, it is not necessary for all windows to have a QBackingStore. This is the case for QOpenGLWindow. And could be the case for windows where some third party renders into it.

The platform specific window handle can be retrieved by the winId function.

QPlatformWindow is also the way QPA defines how native child windows should be supported through the setParent function.

\list 1

  • Mouse grab: Qt expects windows to automatically grab the mouse if the user presses a button until the button is released. Automatic grab should be released if some window is explicitly grabbed.
  • Enter/Leave events: If there is a window explicitly grabbing mouse events ({setMouseGrabEnabled()}), enter and leave events should only be sent to the grabbing window when mouse cursor passes over the grabbing window boundary. Other windows will not receive enter or leave events while the grab is active. While an automatic mouse grab caused by a mouse button press is active, no window will receive enter or leave events. When the last mouse button is released, the autograbbing window will receive leave event if mouse cursor is no longer within the window boundary. When any grab starts, the window under cursor will receive a leave event unless it is the grabbing window. When any grab ends, the window under cursor will receive an enter event unless it was the grabbing window.
  • Window positioning: When calling {QWindow::setFramePosition()}, the flag {QWindowPrivate::positionPolicy} is set to {QWindowPrivate::WindowFrameInclusive}. This means the position includes the window frame, whose size is at this point unknown and the geometry's topleft point is the position of the window frame. \endlist

Apart from the auto-tests ({tests/auto/gui/kernel/qwindow}, {tests/auto/gui/kernel/qguiapplication} and {tests/auto/widgets/kernel/qwidget}), there are a number of manual tests and examples that can help testing a platform plugin:

\list 1

  • {examples/qpa/windows}: Basic {QWindow} creation.
  • {examples/opengl/hellowindow}: Basic Open GL windows.
  • {tests/manual/windowflags}: Tests setting the window flags.
  • {tests/manual/windowgeometry} Tests setting the window geometry.
  • {tests/manual/windowmodality} Tests setting the window modality.
  • {tests/manual/widgetgrab} Tests mouse grab and dialogs. \endlist
See also
QBackingStore, QWindow

Definition at line 36 of file qplatformwindow.h.

Constructor & Destructor Documentation

◆ QPlatformWindow()

QT_BEGIN_NAMESPACE QPlatformWindow::QPlatformWindow ( QWindow * window)
explicit

Constructs a platform window with the given top level window.

Definition at line 22 of file qplatformwindow.cpp.

References d, QHighDpi::toNativePixels(), and window().

+ Here is the call graph for this function:

◆ ~QPlatformWindow()

QPlatformWindow::~QPlatformWindow ( )
override

Virtual destructor does not delete its top level window.

Definition at line 33 of file qplatformwindow.cpp.

Member Function Documentation

◆ close()

bool QPlatformWindow::close ( )
virtual

Reimplement to let the platform handle non-spontaneous window close.

When reimplementing make sure to call the base class implementation or QWindowSystemInterface::handleCloseEvent(), which will prompt the user to accept the window close (if needed) and then close the QWindow.

Definition at line 327 of file qplatformwindow.cpp.

References window().

+ Here is the call graph for this function:

◆ closestAcceptableGeometry()

QRectF QPlatformWindow::closestAcceptableGeometry ( const QWindow * w,
const QRectF & nativeRect )
static

Returns the closest acceptable geometry for a given geometry before a resize/move event for platforms that support it, for example to implement heightForWidth().

Definition at line 858 of file qplatformwindow.cpp.

References QHighDpi::fromNativeWindowGeometry(), qt_window_private(), and QHighDpi::toNativeWindowGeometry().

Referenced by QWindowsWindow::handleGeometryChangingMessage(), and windowClosestAcceptableGeometry().

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

◆ constrainWindowSize()

QSize QPlatformWindow::constrainWindowSize ( const QSize & size)
staticprotected

Returns a size with both dimensions bounded to [0, QWINDOWSIZE_MAX].

Definition at line 573 of file qplatformwindow.cpp.

References QWINDOWSIZE_MAX.

Referenced by windowMaximumSize(), and windowMinimumSize().

+ Here is the caller graph for this function:

◆ deliverUpdateRequest()

void QPlatformWindow::deliverUpdateRequest ( )
virtual

Delivers an QEvent::UpdateRequest event to the window.

QPlatformWindow subclasses can re-implement this function to provide e.g. logging or tracing of the delivery, but should always call the base class function.

Reimplemented in QCocoaWindow, and QtWaylandClient::QWaylandWindow.

Definition at line 775 of file qplatformwindow.cpp.

References hasPendingUpdateRequest(), Q_ASSERT, qt_window_private(), qWarning, request, QCoreApplication::sendEvent(), QWindowPrivate::updateDevicePixelRatio(), QEvent::UpdateRequest, QWindowPrivate::updateRequestPending, and window().

Referenced by QCocoaWindow::deliverUpdateRequest(), QtWaylandClient::QWaylandWindow::deliverUpdateRequest(), and windowEvent().

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

◆ devicePixelRatio()

qreal QPlatformWindow::devicePixelRatio ( ) const
virtual

Reimplement this function in subclass to return the device pixel ratio for the window.

This is the ratio between physical pixels and device-independent pixels.

See also
QPlatformWindow::devicePixelRatio();

Reimplemented in QCocoaWindow, QIOSWindow, QWasmWindow, and QtWaylandClient::QWaylandWindow.

Definition at line 408 of file qplatformwindow.cpp.

Referenced by QRasterBackingStore::beginPaint(), QWasmBackingStore::resize(), and QWindowPrivate::updateDevicePixelRatio().

+ Here is the caller graph for this function:

◆ format()

QSurfaceFormat QPlatformWindow::format ( ) const
overridevirtual

Returns the actual surface format of the window.

Implements QPlatformSurface.

Reimplemented in QDirectFbWindowEGL, QAndroidPlatformOpenGLWindow, QAndroidPlatformVulkanWindow, QCocoaWindow, QEglFSWindow, QIOSWindow, QQnxEglWindow, QWasmWindow, QWindowsWindow, QXcbWindow, QtWaylandClient::QWaylandShmWindow, QtWaylandClient::QWaylandBrcmEglWindow, and QtWaylandClient::QWaylandEglWindow.

Definition at line 77 of file qplatformwindow.cpp.

Referenced by QAndroidPlatformWindow::createSurface().

+ Here is the caller graph for this function:

◆ formatWindowTitle()

QString QPlatformWindow::formatWindowTitle ( const QString & title,
const QString & separator )
staticprotected

Call this method to put together a window title composed of title separator the application display name.

If the display name isn't set, and the title is empty, the raw app name is used.

Definition at line 521 of file qplatformwindow.cpp.

References QCoreApplication::applicationName, QGuiApplicationPrivate::displayName, QString::endsWith(), and title.

Referenced by QWindowsWindow::formatWindowTitle(), QtWaylandClient::QWaylandWindow::setWindowTitle(), and QXcbWindow::setWindowTitle().

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

◆ frameMargins()

QMargins QPlatformWindow::frameMargins ( ) const
virtual

Reimplemented in QCocoaWindow, QHaikuWindow, QOffscreenWindow, QWasmWindow, QWindowsBaseWindow, QWindowsDesktopWindow, QWindowsWindow, QXcbWindow, and QtWaylandClient::QWaylandWindow.

Definition at line 127 of file qplatformwindow.cpp.

Referenced by QtWaylandClient::QWaylandWindow::frameMargins().

+ Here is the caller graph for this function:

◆ frameStrutEventsEnabled()

bool QPlatformWindow::frameStrutEventsEnabled ( ) const
virtual

Reimplement this method to return whether frame strut events are enabled.

Reimplemented in QCocoaWindow, and QWindowsWindow.

Definition at line 508 of file qplatformwindow.cpp.

◆ geometry()

QRect QPlatformWindow::geometry ( ) const
virtual

Returns the current geometry of a window.

Reimplemented in QCocoaWindow, QEglFSWindow, QWindowsBaseWindow, and QWindowsWindow.

Definition at line 109 of file qplatformwindow.cpp.

References d.

Referenced by QIOSWindow::QIOSWindow(), QXcbForeignWindow::QXcbForeignWindow(), QAndroidPlatformWindow::applicationStateChanged(), QAndroidPlatformOpenGLWindow::checkNativeSurface(), QtWaylandClient::QWaylandEglWindow::contentFBO(), QtWaylandClient::QWaylandEglWindow::contentsRect(), QXcbWindow::create(), QtWaylandClient::QWaylandWindow::createDecoration(), QAndroidPlatformWindow::createSurface(), QtWaylandClient::QWaylandWindow::doHandleFrameCallback(), QXcbWindow::frameMargins(), QCocoaWindow::geometry(), QEglFSWindow::geometry(), QXcbWindow::handleMapNotifyEvent(), QXcbWindow::initialScreen(), QQnxWindow::initWindow(), QFbWindow::lower(), QXcbWindow::propagateSizeHints(), QFbWindow::raise(), QFbWindow::repaint(), QtWaylandClient::QWaylandWindow::repositionFromApplyConfigure(), QtWaylandClient::QWaylandWindow::resizeFromApplyConfigure(), screenForGeometry(), QAndroidPlatformWindow::sendExpose(), QtWaylandClient::QWaylandWindow::sendRecursiveExposeEvent(), QtWaylandClient::QWaylandWindow::setCanResize(), QtWaylandClient::QWaylandWindow::setCustomMargins(), QQnxWindow::setExposed(), QFbWindow::setGeometry(), QAndroidPlatformOpenGLWindow::setGeometry(), QAndroidPlatformVulkanWindow::setGeometry(), QOffscreenWindow::setGeometry(), QtWaylandClient::QWaylandWindow::setGeometry(), QtWaylandClient::QWaylandWindow::setGeometryFromApplyConfigure(), QtWaylandClient::QWaylandWindow::setMask(), QAndroidPlatformWindow::setNativeGeometry(), QXcbWindow::setParent(), QXcbWindow::setTransparentForMouseEvents(), setVisible(), QFbWindow::setVisible(), QAndroidPlatformWindow::setVisible(), QDirectFbWindow::setVisible(), QHaikuWindow::setVisible(), QOffscreenWindow::setVisible(), QQnxWindow::setVisible(), QOffscreenWindow::setWindowState(), QtWaylandClient::QWaylandWindow::surfaceSize(), QtWaylandClient::QWaylandBrcmEglWindow::swapBuffers(), QtWaylandClient::QWaylandEglWindow::updateSurface(), and windowGeometry().

◆ handleContentOrientationChange()

void QPlatformWindow::handleContentOrientationChange ( Qt::ScreenOrientation orientation)
virtual

Handle changes to the orientation of the platform window's contents.

This is a hint to the window manager in case it needs to display additional content like popups, dialogs, status bars, or similar in relation to the window.

See also
QWindow::reportContentOrientationChange()

Reimplemented in QtWaylandClient::QWaylandWindow.

Definition at line 396 of file qplatformwindow.cpp.

References Q_UNUSED.

Referenced by QIOSWindow::QIOSWindow().

+ Here is the caller graph for this function:

◆ hasPendingUpdateRequest()

bool QPlatformWindow::hasPendingUpdateRequest ( ) const

Returns true if the window has a pending update request.

See also
requestUpdate(), deliverUpdateRequest()

Definition at line 763 of file qplatformwindow.cpp.

References qt_window_private(), and window().

Referenced by deliverUpdateRequest(), QtWaylandClient::QWaylandWindow::doHandleFrameCallback(), QtWaylandClient::QWaylandWindow::reinit(), and QtWaylandClient::QWaylandWindow::requestUpdate().

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

◆ initialGeometry()

QRect QPlatformWindow::initialGeometry ( const QWindow * w,
const QRect & initialGeometry,
int defaultWidth,
int defaultHeight,
const QScreen ** resultingScreenReturn = nullptr )
static

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.

its parent. For example this is useful on Windows and MacOS but not X11, because an X11 window manager typically tries to layout new windows to optimize usage of the available desktop space. However if the given window already has geometry which the application has initialized, it takes priority.

initialGeometry has to be provided in native pixels. defaultWidth has to be provided in device independent pixels defaultHeight has to be provided in device independent pixels

Definition at line 672 of file qplatformwindow.cpp.

References QPlatformScreen::availableGeometry(), QRect::center(), effectiveScreen(), QHighDpiScaling::factor(), fixInitialSize(), QHighDpi::fromNative(), QHighDpi::fromNativePixels(), initialGeometry(), Qt::Popup, position(), qt_window_private(), screen(), QGuiApplication::screenAt(), QHighDpi::toNative(), and QHighDpi::toNativePixels().

Referenced by QAndroidPlatformWindow::QAndroidPlatformWindow(), QHaikuWindow::QHaikuWindow(), QIOSWindow::QIOSWindow(), WindowCreationData::create(), initialGeometry(), QCocoaWindow::initialize(), and QWasmWindow::initialize().

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

◆ initialize()

void QPlatformWindow::initialize ( )
virtual

Called as part of QWindow::create(), after constructing the window.

Platforms should prefer to do initialization here instead of in the constructor, as the platform window object will be fully constructed, and associated to the corresponding QWindow, allowing synchronous event delivery.

Reimplemented in QCocoaWindow, QWasmWindow, and QWindowsWindow.

Definition at line 44 of file qplatformwindow.cpp.

Referenced by QWindowPrivate::create().

+ Here is the caller graph for this function:

◆ invalidateSurface()

void QPlatformWindow::invalidateSurface ( )
virtual

Invalidates the window's surface by releasing its surface buffers.

Many platforms do not support releasing the surface memory, and the default implementation does nothing.

The platform window is expected to recreate the surface again if it is needed. For instance, if an OpenGL context is made current on this window.

Reimplemented in QEglFSWindow, QEglFSKmsGbmWindow, QEglFSKmsEglDeviceWindow, QEglFSKmsVsp2Window, QWindowsWindow, QtWaylandClient::QWaylandVulkanWindow, and QtWaylandClient::QWaylandEglWindow.

Definition at line 641 of file qplatformwindow.cpp.

Referenced by QtWaylandClient::QWaylandVulkanWindow::invalidateSurface(), and QtWaylandClient::QWaylandWindow::reset().

+ Here is the caller graph for this function:

◆ isActive()

bool QPlatformWindow::isActive ( ) const
virtual

Returns true if the window should appear active from a style perspective.

This function can make platform-specific isActive checks, such as checking if the QWindow is embedded in an active native window.

Reimplemented in QHaikuWindow, QWindowsWindow, and QtWaylandClient::QWaylandWindow.

Definition at line 182 of file qplatformwindow.cpp.

Referenced by QtWaylandClient::QWaylandBradientDecoration::paint(), and QIOSWindow::setWindowState().

+ Here is the caller graph for this function:

◆ isAlertState()

bool QPlatformWindow::isAlertState ( ) const
virtual

Reimplement this method return whether the window is in an alert state.

See also
setAlertState()
Since
5.1

Reimplemented in QCocoaWindow, QWindowsWindow, QXcbWindow, and QtWaylandClient::QWaylandWindow.

Definition at line 599 of file qplatformwindow.cpp.

Referenced by QWindowPrivate::_q_clearAlert().

+ Here is the caller graph for this function:

◆ isAncestorOf()

bool QPlatformWindow::isAncestorOf ( const QPlatformWindow * child) const
virtual

Returns true if the window is an ancestor of the given child.

Platform overrides should iterate the native window hierarchy of the child, to ensure that ancestary is reflected even with native windows in the window hierarchy.

Reimplemented in QWindowsWindow.

Definition at line 194 of file qplatformwindow.cpp.

References child, and parent().

Referenced by QXcbWindow::requestActivateWindow().

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

◆ isEmbedded()

bool QPlatformWindow::isEmbedded ( ) const
virtual

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 in QCocoaWindow, QWindowsWindow, and QXcbWindow.

Definition at line 210 of file qplatformwindow.cpp.

◆ isExposed()

bool QPlatformWindow::isExposed ( ) const
virtual

Returns if this window is exposed in the windowing system.

An exposeEvent() is sent every time this value changes.

Reimplemented in QAndroidPlatformWindow, QCocoaWindow, QHaikuWindow, QIOSWindow, QQnxWindow, QWindowsWindow, QXcbWindow, and QtWaylandClient::QWaylandWindow.

Definition at line 171 of file qplatformwindow.cpp.

References window().

+ Here is the call graph for this function:

◆ isForeignWindow()

virtual bool QPlatformWindow::isForeignWindow ( ) const
inlinevirtual

Reimplemented in QAndroidPlatformForeignWindow, QCocoaWindow, QIOSWindow, QQnxForeignWindow, QWindowsForeignWindow, and QXcbForeignWindow.

Definition at line 79 of file qplatformwindow.h.

Referenced by QWindowsWindow::checkForScreenChanged(), QXcbWindow::create(), isValidWheelReceiver(), isValidWheelReceiver(), qt_tlw_for_window(), and screenForGeometry().

+ Here is the caller graph for this function:

◆ lower()

void QPlatformWindow::lower ( )
virtual

Reimplement to be able to let Qt lower windows to the bottom of the desktop.

Reimplemented in QFbWindow, QAndroidPlatformWindow, QCocoaWindow, QDirectFbWindow, QEglFSWindow, QIOSWindow, QQnxWindow, QWasmWindow, QWindowsForeignWindow, QWindowsWindow, QXcbWindow, and QtWaylandClient::QWaylandWindow.

Definition at line 340 of file qplatformwindow.cpp.

References qWarning.

◆ mapFromGlobal()

QPoint QPlatformWindow::mapFromGlobal ( const QPoint & pos) const
virtual

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 in QWindowsBaseWindow, QWindowsWindow, and QXcbWindow.

Definition at line 254 of file qplatformwindow.cpp.

References pos.

Referenced by QXcbWindow::mapFromGlobal(), mapFromGlobalF(), QWasmWindow::onNonClientEvent(), QWindowsOleDropSource::QueryContinueDrag(), QOffscreenWindow::setVisible(), and QWindowsTabletSupport::translateTabletPacketEvent().

+ Here is the caller graph for this function:

◆ mapFromGlobalF()

QPointF QPlatformWindow::mapFromGlobalF ( const QPointF & pos) const

Definition at line 240 of file qplatformwindow.cpp.

References mapFromGlobal(), and pos.

+ Here is the call graph for this function:

◆ mapToGlobal()

QPoint QPlatformWindow::mapToGlobal ( const QPoint & pos) const
virtual

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 in QWindowsBaseWindow, QWindowsWindow, and QXcbWindow.

Definition at line 222 of file qplatformwindow.cpp.

References pos.

Referenced by QWindowPrivate::globalPosition(), QXcbWindow::mapToGlobal(), mapToGlobalF(), and screenForGeometry().

+ Here is the caller graph for this function:

◆ mapToGlobalF()

QPointF QPlatformWindow::mapToGlobalF ( const QPointF & pos) const

Definition at line 233 of file qplatformwindow.cpp.

References mapToGlobal(), and pos.

+ Here is the call graph for this function:

◆ normalGeometry()

QRect QPlatformWindow::normalGeometry ( ) const
virtual

Returns the geometry of a window in 'normal' state (neither maximized, fullscreen nor minimized) for saving geometries to application settings.

Since
5.3

Reimplemented in QCocoaWindow, QWasmWindow, and QWindowsWindow.

Definition at line 122 of file qplatformwindow.cpp.

◆ parent()

◆ propagateSizeHints()

void QPlatformWindow::propagateSizeHints ( )
virtual

Reimplement to propagate the size hints of the QWindow.

The size hints include QWindow::minimumSize(), QWindow::maximumSize(), QWindow::sizeIncrement(), and QWindow::baseSize().

Reimplemented in QFbWindow, QAndroidPlatformWindow, QCocoaWindow, QEglFSWindow, QHaikuWindow, QIOSWindow, QQnxWindow, QWasmWindow, QWindowsWindow, QXcbWindow, and QtWaylandClient::QWaylandWindow.

Definition at line 348 of file qplatformwindow.cpp.

References qWarning.

Referenced by QWindowPrivate::setMinOrMaxSize().

+ Here is the caller graph for this function:

◆ raise()

void QPlatformWindow::raise ( )
virtual

Reimplement to be able to let Qt raise windows to the top of the desktop.

Reimplemented in QFbWindow, QAndroidPlatformWindow, QCocoaWindow, QDirectFbWindow, QEglFSWindow, QIOSWindow, QQnxWindow, QWasmWindow, QWindowsForeignWindow, QWindowsWindow, QXcbWindow, and QtWaylandClient::QWaylandWindow.

Definition at line 335 of file qplatformwindow.cpp.

References qWarning.

◆ requestActivateWindow()

void QPlatformWindow::requestActivateWindow ( )
virtual

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::handleFocusWindowChanged(QWindow *w) would be sufficient.

If the window system has some event handling/callbacks then call QWindowSystemInterface::handleFocusWindowChanged(QWindow *w) when the window system gives the notification.

Default implementation calls QWindowSystem::handleFocusWindowChanged(QWindow *w)

Reimplemented in QAndroidPlatformWindow, QCocoaWindow, QEglFSWindow, QHaikuWindow, QIOSWindow, QOffscreenWindow, QQnxWindow, QWasmWindow, QWindowsWindow, QXcbWindow, and QtWaylandClient::QWaylandWindow.

Definition at line 382 of file qplatformwindow.cpp.

References QWindowSystemInterface::handleFocusWindowChanged(), and window().

Referenced by QHaikuIntegration::createPlatformWindow(), QWasmWindow::requestActivateWindow(), and QXcbWindow::requestActivateWindow().

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

◆ requestUpdate()

void QPlatformWindow::requestUpdate ( )
virtual

Requests an QEvent::UpdateRequest event.

The event will be delivered to the QWindow.

QPlatformWindow subclasses can re-implement this function to provide display refresh synchronized updates. The event should be delivered using QPlatformWindow::deliverUpdateRequest() to not get out of sync with the internal state of QWindow.

The default implementation posts an UpdateRequest event to the window after an interval that is at most 5 ms. If the window's associated screen reports a \l{QPlatformScreen::refreshRate()}{refresh rate} higher than 60 Hz, the interval is scaled down to a valid smaller than 5. The additional time is there to give the event loop a bit of idle time to gather system events.

Reimplemented in QCocoaWindow, QIOSWindow, QWasmWindow, and QtWaylandClient::QWaylandWindow.

Definition at line 737 of file qplatformwindow.cpp.

References d, Qt::PreciseTimer, Q_ASSERT, qEnvironmentVariableIntValue(), screen(), and window().

Referenced by QCocoaWindow::requestUpdate().

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

◆ safeAreaMargins()

QMargins QPlatformWindow::safeAreaMargins ( ) const
virtual

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.

Reimplemented in QAndroidPlatformWindow, and QIOSWindow.

Definition at line 137 of file qplatformwindow.cpp.

Referenced by QWidgetPrivate::safeAreaMargins(), and QAndroidPlatformWindow::safeAreaMargins().

+ Here is the caller graph for this function:

◆ screen()

QPlatformScreen * QPlatformWindow::screen ( ) const
overridevirtual

Returns the platform screen handle corresponding to this platform window, or null if the window is not associated with a screen.

Implements QPlatformSurface.

Reimplemented in QQnxWindow.

Definition at line 68 of file qplatformwindow.cpp.

References QScreen::handle(), and window().

Referenced by QMinimalEglWindow::QMinimalEglWindow(), QDirectFbWindowEGL::~QDirectFbWindowEGL(), QWindowsWindow::checkForScreenChanged(), QAndroidPlatformOpenGLWindow::checkNativeSurface(), QDirectFbWindow::createDirectFBWindow(), QEglFSEmulatorIntegration::createNativeWindow(), QCocoaWindow::createNSWindow(), QWasmWindow::devicePixelRatio(), QDirectFbWindowEGL::eglSurface(), QXcbWindow::handleConfigureNotifyEvent(), QXcbWindow::hide(), initialGeometry(), QWindowsWindow::initialize(), QXcbWindow::initialScreen(), QXcbWindow::propagateSizeHints(), requestUpdate(), QCocoaWindow::requestUpdate(), QIOSWindow::requestUpdate(), QEglFSWindow::screen(), screenForGeometry(), QAndroidPlatformWindow::sendExpose(), QMinimalEglWindow::setGeometry(), QWasmWindow::setGeometry(), QVkKhrDisplayWindow::setGeometry(), QAndroidPlatformOpenGLWindow::setGeometry(), QAndroidPlatformVulkanWindow::setGeometry(), QtWaylandClient::QWaylandWindow::setGeometry(), QAndroidPlatformWindow::setVisible(), QWasmWindow::setWindowIcon(), QIOSWindow::setWindowState(), QOffscreenWindow::setWindowState(), QtWaylandClient::QWaylandWindow::updateBufferTransform(), QtWaylandClient::QWaylandWindow::waylandScreen(), and QXcbWindow::xcbScreen().

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

◆ screenForGeometry()

QPlatformScreen * QPlatformWindow::screenForGeometry ( const QRect & newGeometry) const
protected

Helper function for finding the new screen for newGeometry in response to a geometry changed event.

Returns the new screen if the window was moved to another virtual sibling. If the screen changes, the platform plugin should call QWindowSystemInterface::handleWindowScreenChanged().

Note
: The current screen will always be returned for child windows since they should never signal screen changes.
Since
5.4
See also
QWindowSystemInterface::handleWindowScreenChanged()

Definition at line 547 of file qplatformwindow.cpp.

References QRect::center(), QRect::contains(), geometry(), QPlatformScreen::geometry(), QRect::intersects(), QRect::isEmpty(), isForeignWindow(), mapToGlobal(), parent(), screen(), and QRect::topLeft().

Referenced by QXcbWindow::handleConfigureNotifyEvent(), and QXcbWindow::setGeometry().

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

◆ setAlertState()

void QPlatformWindow::setAlertState ( bool enable)
virtual

Reimplement this method to set whether the window demands attention (for example, by flashing the taskbar icon) depending on enabled.

See also
isAlertState()
Since
5.1

Reimplemented in QCocoaWindow, QWindowsWindow, QXcbWindow, and QtWaylandClient::QWaylandWindow.

Definition at line 586 of file qplatformwindow.cpp.

References Q_UNUSED.

Referenced by QWindowPrivate::_q_clearAlert().

+ Here is the caller graph for this function:

◆ setFrameStrutEventsEnabled()

void QPlatformWindow::setFrameStrutEventsEnabled ( bool enabled)
virtual

Reimplement this method to set whether frame strut events should be sent to enabled.

See also
frameStrutEventsEnabled

Reimplemented in QCocoaWindow, and QWindowsWindow.

Definition at line 498 of file qplatformwindow.cpp.

References Q_UNUSED.

◆ setGeometry()

void QPlatformWindow::setGeometry ( const QRect & rect)
virtual

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 in QEglFSWindow, QMinimalEglWindow, QWasmWindow, QVkKhrDisplayWindow, QFbWindow, QAndroidPlatformForeignWindow, QAndroidPlatformOpenGLWindow, QAndroidPlatformVulkanWindow, QAndroidPlatformWindow, QCocoaWindow, QDirectFbWindow, QHaikuWindow, QIOSWindow, QOffscreenWindow, QQnxEglWindow, QQnxWindow, QWindowsForeignWindow, QWindowsWindow, QXcbWindow, QtWaylandClient::QWaylandWindow, QtWaylandClient::QWaylandBrcmEglWindow, and QtWaylandClient::QWaylandEglWindow.

Definition at line 100 of file qplatformwindow.cpp.

References d, and rect.

Referenced by QIOSWindow::QIOSWindow(), QXcbForeignWindow::QXcbForeignWindow(), QXcbWindow::create(), QCocoaWindow::initialize(), QWasmWindow::initialize(), QCocoaWindow::setCocoaGeometry(), QEglFSWindow::setGeometry(), QMinimalEglWindow::setGeometry(), QVkKhrDisplayWindow::setGeometry(), QFbWindow::setGeometry(), QAndroidPlatformWindow::setGeometry(), QDirectFbWindow::setGeometry(), QHaikuWindow::setGeometry(), QIOSWindow::setGeometry(), QWindowsWindow::setGeometry(), and QXcbWindow::setGeometry().

+ Here is the caller graph for this function:

◆ setKeyboardGrabEnabled()

bool QPlatformWindow::setKeyboardGrabEnabled ( bool grab)
virtual

◆ setMask()

void QPlatformWindow::setMask ( const QRegion & region)
virtual

Reimplement to be able to let Qt set the mask of a window.

Reimplemented in QEglFSWindow, QWasmWindow, QCocoaWindow, QIOSWindow, QWindowsWindow, QXcbWindow, and QtWaylandClient::QWaylandWindow.

Definition at line 363 of file qplatformwindow.cpp.

References Q_UNUSED, and qWarning.

◆ setMouseGrabEnabled()

bool QPlatformWindow::setMouseGrabEnabled ( bool grab)
virtual

◆ setOpacity()

void QPlatformWindow::setOpacity ( qreal level)
virtual

Reimplement to be able to let Qt set the opacity level of a window.

Reimplemented in QCocoaWindow, QDirectFbWindow, QIOSWindow, QQnxWindow, QWasmWindow, QWindowsWindow, QXcbWindow, and QEglFSWindow.

Definition at line 353 of file qplatformwindow.cpp.

References Q_UNUSED, and qWarning.

◆ setParent()

void QPlatformWindow::setParent ( const QPlatformWindow * parent)
virtual

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 in QtWaylandClient::QWaylandWindow, QWasmWindow, QAndroidPlatformWindow, QCocoaWindow, QIOSWindow, QQnxRasterWindow, QQnxWindow, QWindowsForeignWindow, QWindowsWindow, and QXcbWindow.

Definition at line 294 of file qplatformwindow.cpp.

References parent(), Q_UNUSED, and qWarning.

Referenced by QWindowPrivate::destroy().

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

◆ setVisible()

void QPlatformWindow::setVisible ( bool visible)
virtual

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 in QFbWindow, QAndroidPlatformForeignWindow, QAndroidPlatformWindow, QCocoaWindow, QDirectFbWindow, QEglFSWindow, QHaikuWindow, QIOSWindow, QOffscreenWindow, QQnxWindow, QWasmWindow, QWindowsForeignWindow, QWindowsWindow, QXcbWindow, and QtWaylandClient::QWaylandWindow.

Definition at line 148 of file qplatformwindow.cpp.

References QWindowSystemInterface::flushWindowSystemEvents(), geometry(), QWindowSystemInterface::handleExposeEvent(), Q_UNUSED, rect, and window().

Referenced by QWindowPrivate::destroy(), QWindowPrivate::setVisible(), QFbWindow::setVisible(), QAndroidPlatformWindow::setVisible(), and QDirectFbWindow::setVisible().

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

◆ setWindowFilePath()

void QPlatformWindow::setWindowFilePath ( const QString & title)
virtual

Reimplement to set the window file path to filePath.

Reimplemented in QCocoaWindow.

Definition at line 313 of file qplatformwindow.cpp.

References Q_UNUSED.

◆ setWindowFlags()

void QPlatformWindow::setWindowFlags ( Qt::WindowFlags flags)
virtual

Requests setting the window flags of this surface to flags.

Reimplemented in QAndroidPlatformWindow, QCocoaWindow, QWindowsDirect2DWindow, QDirectFbWindow, QHaikuWindow, QWasmWindow, QWindowsWindow, QXcbWindow, QtWaylandClient::QWaylandWindow, and QFbWindow.

Definition at line 160 of file qplatformwindow.cpp.

References Q_UNUSED.

◆ setWindowIcon()

void QPlatformWindow::setWindowIcon ( const QIcon & icon)
virtual

Reimplement to set the window icon to icon.

Reimplemented in QCocoaWindow, QWasmWindow, QWindowsWindow, QXcbWindow, and QtWaylandClient::QWaylandWindow.

Definition at line 318 of file qplatformwindow.cpp.

References icon, and Q_UNUSED.

◆ setWindowModified()

bool QPlatformWindow::setWindowModified ( bool modified)
virtual

Reimplement to be able to let Qt indicate that the window has been modified.

Return true if the native window supports setting the modified flag, false otherwise.

Reimplemented in QCocoaWindow.

Definition at line 432 of file qplatformwindow.cpp.

References Q_UNUSED.

Referenced by QWidgetPrivate::setWindowModified_helper().

+ Here is the caller graph for this function:

◆ setWindowState()

void QPlatformWindow::setWindowState ( Qt::WindowStates state)
virtual

Requests setting the window state of this surface to type.

Qt::WindowActive can be ignored.

Reimplemented in QFbWindow, QAndroidPlatformWindow, QCocoaWindow, QHaikuWindow, QIOSWindow, QQnxWindow, QWasmWindow, QWindowsWindow, QXcbWindow, QOffscreenWindow, and QtWaylandClient::QWaylandWindow.

Definition at line 271 of file qplatformwindow.cpp.

Referenced by QFbWindow::setWindowState(), and QAndroidPlatformWindow::setWindowState().

+ Here is the caller graph for this function:

◆ setWindowTitle()

void QPlatformWindow::setWindowTitle ( const QString & title)
virtual

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.

See also
QGuiApplication::applicationDisplayName()

Reimplemented in QCocoaWindow, QHaikuWindow, QWasmWindow, QWindowsForeignWindow, QWindowsWindow, QXcbWindow, and QtWaylandClient::QWaylandWindow.

Definition at line 308 of file qplatformwindow.cpp.

References Q_UNUSED, and title.

◆ startSystemMove()

bool QPlatformWindow::startSystemMove ( )
virtual

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.

Since
5.15

Reimplemented in QCocoaWindow, QWindowsWindow, QXcbWindow, and QtWaylandClient::QWaylandWindow.

Definition at line 486 of file qplatformwindow.cpp.

◆ startSystemResize()

bool QPlatformWindow::startSystemResize ( Qt::Edges edges)
virtual

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.

Since
5.15

Reimplemented in QWindowsWindow, QXcbWindow, and QtWaylandClient::QWaylandWindow.

Definition at line 471 of file qplatformwindow.cpp.

References Q_UNUSED.

Referenced by QSizeGrip::mousePressEvent().

+ Here is the caller graph for this function:

◆ window()

QWindow * QPlatformWindow::window ( ) const

Returns the window which belongs to the QPlatformWindow.

Definition at line 51 of file qplatformwindow.cpp.

Referenced by QAndroidPlatformOpenGLWindow::QAndroidPlatformOpenGLWindow(), QCocoaWindow::QCocoaWindow(), QHaikuWindow::QHaikuWindow(), QIOSWindow::QIOSWindow(), QOffscreenWindow::QOffscreenWindow(), QPlatformWindow(), QQnxEglWindow::QQnxEglWindow(), QQnxRasterWindow::QQnxRasterWindow(), QQnxWindow::QQnxWindow(), QQnxWindow::QQnxWindow(), QtWaylandClient::QWaylandWlShellSurface::QWaylandWlShellSurface(), QtWaylandClient::QWaylandXdgSurface::QWaylandXdgSurface(), QWindowsDirect2DWindow::QWindowsDirect2DWindow(), QWindowsWindow::QWindowsWindow(), QAndroidPlatformWindow::~QAndroidPlatformWindow(), QCocoaWindow::~QCocoaWindow(), QQnxWindow::~QQnxWindow(), QVkKhrDisplayWindow::~QVkKhrDisplayWindow(), QtWaylandClient::QWaylandWindow::~QWaylandWindow(), QXcbVulkanWindow::~QXcbVulkanWindow(), QQnxScreen::activateWindowGroup(), QQnxRasterWindow::adjustBufferSize(), QCocoaWindow::alwaysShowToolWindow(), QAndroidPlatformWindow::applicationStateChanged(), QCocoaWindow::applyContentBorderThickness(), QWindowsWindow::applyCursor(), QCocoaWindow::applyWindowState(), QQnxRasterWindow::blitPreviousToCurrent(), QAndroidPlatformWindow::blockedByModal(), QWindowsWindow::checkForScreenChanged(), QAndroidPlatformOpenGLWindow::checkNativeSurface(), QCocoaWindow::childWindowAt(), close(), QEglFSWindow::create(), QXcbWindow::create(), QtWaylandClient::QWaylandWindow::createDecoration(), QDirectFbWindowEGL::createDirectFBWindow(), QDirectFbWindow::createDirectFBWindow(), QAndroidPlatformOpenGLWindow::createEgl(), QCocoaWindow::createNSWindow(), QAndroidPlatformWindow::createSurface(), deliverUpdateRequest(), QCocoaWindow::deliverUpdateRequest(), QXcbWindow::doFocusIn(), QXcbConnection::event(), QtWaylandClient::QWaylandExtendedSurface::extended_surface_close(), QtWaylandClient::QWaylandExtendedSurface::extended_surface_onscreen_visibility(), QQnxWindow::findWindow(), QDirectFbWindowEGL::format(), QAndroidPlatformOpenGLWindow::format(), QAndroidPlatformVulkanWindow::format(), QCocoaWindow::format(), QIOSWindow::format(), QWindowsWindow::format(), QXcbWindow::frameMargins(), QWindowsBaseWindow::frameMargins_sys(), QCocoaWindow::geometry(), QWindowsWindow::getSizeHints(), QXcbWindow::handleButtonPressEvent(), QXcbWindow::handleClientMessageEvent(), QWindowsWindow::handleCompositionSettingsChanged(), QXcbWindow::handleConfigureNotifyEvent(), QWindowsWindow::handleDpiChanged(), QXcbWindow::handleEnterNotifyEvent(), QCocoaWindow::handleExposeEvent(), QXcbWindow::handleExposeEvent(), QCocoaWindow::handleGeometryChange(), QWindowsWindow::handleGeometryChanging(), QXcbKeyboard::handleKeyEvent(), QXcbWindow::handleLeaveNotifyEvent(), QXcbWindow::handleMapNotifyEvent(), QtWaylandClient::QWaylandWindow::handleMouse(), QXcbWindow::handleMouseEvent(), QXcbWindow::handleNativeEvent(), QWindowsWindow::handleNonClientHitTest(), QtWaylandClient::QWaylandWindow::handlePinchGesture(), QXcbWindow::handlePropertyNotifyEvent(), QtWaylandClient::QWaylandWindow::handleSwipeGesture(), QXcbWindow::handleUnmapNotifyEvent(), QCocoaWindow::handleWindowStateChanged(), QtWaylandClient::QWaylandWindow::handleWindowStatesChanged(), QWindowsWindow::handleWmPaint(), QXcbWindow::handleXEmbedMessage(), QXcbWindow::handleXIEnterLeave(), hasPendingUpdateRequest(), QXcbWindow::hide(), QCocoaWindow::initialize(), QWindowsWindow::initialize(), QXcbWindow::initialScreen(), QQnxWindow::initWindow(), QWindowsWindow::invalidateSurface(), QtWaylandClient::QWaylandVulkanWindow::invalidateSurface(), QCocoaWindow::isEmbedded(), QAndroidPlatformWindow::isEmbeddingContainer(), isExposed(), QAndroidPlatformWindow::isExposed(), QIOSWindow::isExposed(), QtWaylandClient::QWaylandWindow::isExposed(), QCocoaWindow::isOpaque(), QEglFSWindow::isRaster(), QWindowsWindow::isTopLevel(), QCocoaWindow::isTransitioningToFullScreen(), QtWaylandClient::QWaylandIviSurface::ivi_controller_surface_visibility(), QFbWindow::lower(), QCocoaWindow::lower(), QDirectFbWindow::lower(), QEglFSWindow::lower(), QQnxWindow::lower(), QWindowsBaseWindow::lower_sys(), msgUnableToSetGeometry(), QWindowsWindow::normalGeometry(), parent(), QCocoaMenuBar::parentWindow(), QFbWindow::platformScreen(), QAndroidPlatformWindow::platformScreen(), QQnxRasterWindow::post(), QWindowsDirect2DWindow::present(), QCocoaWindow::propagateSizeHints(), QHaikuWindow::propagateSizeHints(), QWindowsWindow::propagateSizeHints(), QXcbWindow::propagateSizeHints(), QFbWindow::raise(), QAndroidPlatformWindow::raise(), QCocoaWindow::raise(), QDirectFbWindow::raise(), QEglFSWindow::raise(), QQnxWindow::raise(), QWindowsBaseWindow::raise_sys(), QCocoaWindow::recreateWindowIfNeeded(), QWindowsWindow::registerTouchWindow(), QtWaylandClient::QWaylandWindow::reinit(), QXcbWindow::relayFocusToModalWindow(), QQnxRasterWindow::renderBuffer(), QtWaylandClient::QWaylandXdgSurface::requestActivateOnShow(), requestActivateWindow(), QEglFSWindow::requestActivateWindow(), QIOSWindow::requestActivateWindow(), QOffscreenWindow::requestActivateWindow(), QWindowsWindow::requestActivateWindow(), QXcbWindow::requestActivateWindow(), requestUpdate(), QCocoaWindow::requestUpdate(), QEglFSWindow::resetSurface(), QEglFSKmsGbmWindow::resetSurface(), QEglFSKmsEglDeviceWindow::resetSurface(), QEglFSKmsVsp2Window::resetSurface(), EventReader::run(), QAndroidPlatformWindow::safeAreaMargins(), screen(), QQnxRasterWindow::scroll(), QAndroidPlatformWindow::sendExpose(), QtWaylandClient::QWaylandWindow::sendExposeEvent(), QXcbWindow::sendXEmbedMessage(), QEglFSWindow::setBackingStore(), QQnxWindow::setBufferSize(), QtWaylandClient::QWaylandWindow::setCanResize(), QCocoaWindow::setCocoaGeometry(), QWindowsWindow::setCursor(), QWindowsWindow::setDarkBorder(), QQnxWindow::setExposed(), QWindowsWindow::setExStyle(), QWindowsWindow::setFullFrameMargins(), QEglFSWindow::setGeometry(), QMinimalEglWindow::setGeometry(), QVkKhrDisplayWindow::setGeometry(), QFbWindow::setGeometry(), QAndroidPlatformOpenGLWindow::setGeometry(), QAndroidPlatformVulkanWindow::setGeometry(), QAndroidPlatformWindow::setGeometry(), QCocoaWindow::setGeometry(), QIOSWindow::setGeometry(), QOffscreenWindow::setGeometry(), QQnxWindow::setGeometry(), QWindowsWindow::setGeometry(), QXcbWindow::setGeometry(), QtWaylandClient::QWaylandWindow::setGeometry(), QWindowsBaseWindow::setGeometry_sys(), QWindowsWindow::setHasBorderInFullScreenStatic(), QWindowsWindow::setKeyboardGrabEnabled(), QCocoaWindow::setMask(), QWindowsWindow::setMask(), QWindowsWindow::setMouseGrabEnabled(), QtWaylandClient::QWaylandWindow::setMouseGrabEnabled(), QXcbWindow::setNetWmStateOnUnmappedWindow(), QQnxWindow::setOpacity(), QWindowsWindow::setOpacity(), QtWaylandClient::QWaylandWindow::setParent(), QAndroidPlatformWindow::setParent(), QCocoaWindow::setParent(), QIOSWindow::setParent(), QQnxWindow::setParent(), QWindowsForeignWindow::setParent(), QWindowsWindow::setParent(), QQnxWindow::setScreen(), QWindowsWindow::setStyle(), QCocoaWindow::setupPopupMonitor(), setVisible(), QFbWindow::setVisible(), QAndroidPlatformWindow::setVisible(), QCocoaWindow::setVisible(), QDirectFbWindow::setVisible(), QEglFSWindow::setVisible(), QHaikuWindow::setVisible(), QIOSWindow::setVisible(), QOffscreenWindow::setVisible(), QQnxWindow::setVisible(), QWindowsForeignWindow::setVisible(), QWindowsWindow::setVisible(), QCocoaWindow::setWindowFilePath(), QCocoaWindow::setWindowFlags(), QWindowsDirect2DWindow::setWindowFlags(), QHaikuWindow::setWindowFlags(), QWindowsWindow::setWindowFlags(), QXcbWindow::setWindowFlags(), QtWaylandClient::QWaylandWindow::setWindowIcon(), QAndroidPlatformWindow::setWindowState(), QCocoaWindow::setWindowState(), QIOSWindow::setWindowState(), QOffscreenWindow::setWindowState(), QCocoaWindow::setWindowTitle(), QtWaylandClient::QWaylandWindow::setWindowTitle(), QXcbWindow::setWindowTitle(), QWindowsBaseWindow::setWindowTitle_sys(), QtWaylandClient::QWaylandWlShellSurface::shell_surface_popup_done(), QIOSWindow::shouldAutoActivateWindow(), QCocoaWindow::shouldRefuseKeyWindowAndFirstResponder(), QXcbWindow::show(), QEglFSWindow::sourceWindow(), QWindowsWindow::startSystemResize(), QXcbVulkanWindow::surface(), QWindowsWindow::surface(), QCocoaWindow::toggleFullScreen(), QCocoaWindow::toggleMaximized(), QCocoaScreen::topLevelAt(), QXcbScreen::topLevelAt(), QtWaylandClient::QWaylandWindow::updateBufferTransform(), QtWaylandClient::QWaylandEglWindow::updateSurface(), QAndroidPlatformWindow::updateSystemUiVisibility(), QCocoaWindow::updateTitleBarButtons(), QXcbWindow::updateWmTransientFor(), QAndroidPlatformVulkanWindow::vkSurface(), QtWaylandClient::QWaylandVulkanWindow::vkSurface(), QVkKhrDisplayWindow::vulkanSurfacePtr(), windowBaseSize(), windowClosestAcceptableGeometry(), QCocoaWindow::windowEvent(), QtWaylandClient::QWaylandWindow::windowEvent(), windowFrameGeometry(), windowGeometry(), QQnxScreen::windowGroupStateChanged(), QCocoaWindow::windowIsPopupType(), QCocoaWindow::windowLevel(), windowMaximumSize(), windowMinimumSize(), QCocoaWindow::windowShouldClose(), windowSizeIncrement(), QCocoaWindow::windowState(), QXcbWindow::windowTitle(), QQnxWindow::winId(), QtWaylandClient::QWaylandQtSurface::zqt_shell_surface_v1_close(), and QtWaylandClient::QWaylandTabletToolV2::zwp_tablet_tool_v2_frame().

◆ windowBaseSize()

QSize QPlatformWindow::windowBaseSize ( ) const

Returns the QWindow base size.

Definition at line 814 of file qplatformwindow.cpp.

References QHighDpi::toNativePixels(), and window().

Referenced by QCocoaWindow::propagateSizeHints(), and QXcbWindow::propagateSizeHints().

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

◆ windowClosestAcceptableGeometry()

QRectF QPlatformWindow::windowClosestAcceptableGeometry ( const QRectF & nativeRect) const

Definition at line 866 of file qplatformwindow.cpp.

References closestAcceptableGeometry(), and window().

+ Here is the call graph for this function:

◆ windowEvent()

bool QPlatformWindow::windowEvent ( QEvent * event)
virtual

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 in QWasmWindow, QCocoaWindow, QWindowsWindow, QXcbWindow, and QtWaylandClient::QWaylandWindow.

Definition at line 447 of file qplatformwindow.cpp.

References d, deliverUpdateRequest(), QEvent::Timer, and QTimerEvent::timerId().

Referenced by QGuiApplicationPrivate::sendQWindowEventToQPlatformWindow(), QWasmWindow::windowEvent(), QCocoaWindow::windowEvent(), QWindowsWindow::windowEvent(), QXcbWindow::windowEvent(), and QtWaylandClient::QWaylandWindow::windowEvent().

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

◆ windowFrameGeometry()

QRect QPlatformWindow::windowFrameGeometry ( ) const

Returns the QWindow frame geometry.

Definition at line 847 of file qplatformwindow.cpp.

References frameGeometry(), QHighDpi::toNativeWindowGeometry(), and window().

Referenced by QtWaylandClient::QWaylandWlShellSurface::applyConfigure().

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

◆ windowGeometry()

QRect QPlatformWindow::windowGeometry ( ) const

Returns the QWindow geometry.

Definition at line 839 of file qplatformwindow.cpp.

References geometry(), QHighDpi::toNativeWindowGeometry(), and window().

Referenced by QOffscreenWindow::QOffscreenWindow(), QCocoaWindow::initialize(), QWasmWindow::initialize(), QWasmWindow::propagateSizeHints(), QtWaylandClient::QWaylandWindow::repositionFromApplyConfigure(), QtWaylandClient::QWaylandWindow::resizeFromApplyConfigure(), QtWaylandClient::QWaylandWindow::setGeometry(), QCocoaWindow::setVisible(), and QtWaylandClient::QWaylandWindow::setVisible().

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

◆ windowMaximumSize()

QSize QPlatformWindow::windowMaximumSize ( ) const

Returns the QWindow maximum size.

Definition at line 806 of file qplatformwindow.cpp.

References constrainWindowSize(), QHighDpi::toNativePixels(), and window().

Referenced by QCocoaWindow::isFixedSize(), QCocoaWindow::propagateSizeHints(), QXcbWindow::propagateSizeHints(), QWasmWindow::setGeometry(), and QtWaylandClient::QWaylandXdgSurface::setSizeHints().

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

◆ windowMinimumSize()

QSize QPlatformWindow::windowMinimumSize ( ) const

Returns the QWindow minimum size.

Definition at line 798 of file qplatformwindow.cpp.

References constrainWindowSize(), QHighDpi::toNativePixels(), and window().

Referenced by QXcbWindow::create(), QCocoaWindow::isFixedSize(), QCocoaWindow::propagateSizeHints(), QXcbWindow::propagateSizeHints(), QWasmWindow::setGeometry(), and QtWaylandClient::QWaylandXdgSurface::setSizeHints().

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

◆ windowSizeIncrement()

QSize QPlatformWindow::windowSizeIncrement ( ) const

Returns the QWindow size increment.

Definition at line 822 of file qplatformwindow.cpp.

References increment(), QHighDpiScaling::isActive(), QHighDpi::toNativePixels(), and window().

Referenced by QCocoaWindow::propagateSizeHints(), and QXcbWindow::propagateSizeHints().

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

◆ winId()

WId QPlatformWindow::winId ( ) const
virtual

Reimplement in subclasses to return a handle to the native window.

Reimplemented in QFbWindow, QAndroidPlatformForeignWindow, QAndroidPlatformWindow, QCocoaWindow, QDirectFbWindow, QEglFSWindow, QHaikuWindow, QIOSWindow, QMinimalEglWindow, QOffscreenWindow, QQnxWindow, QWasmWindow, QWindowsBaseWindow, QXcbWindow, and QtWaylandClient::QWaylandWindow.

Definition at line 278 of file qplatformwindow.cpp.

Referenced by QIOSWindow::setParent(), and QXcbWindow::updateWmTransientFor().

+ Here is the caller graph for this function:

Member Data Documentation

◆ d_ptr

QScopedPointer<QPlatformWindowPrivate> QPlatformWindow::d_ptr
protected

Definition at line 137 of file qplatformwindow.h.

Referenced by QCocoaWindow::initialize().


The documentation for this class was generated from the following files: