![]() |
Qt 6.x
The Qt SDK
|
The QPlatformWindow class provides an abstraction for top-level windows. More...
#include <qplatformwindow.h>
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. | |
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 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 Member Functions | |
QPlatformScreen * | screenForGeometry (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< QPlatformWindowPrivate > | d_ptr |
The QPlatformWindow class provides an abstraction for top-level windows.
\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
{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.
{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. \endlistApart 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. \endlistDefinition at line 36 of file qplatformwindow.h.
|
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().
|
override |
Virtual destructor does not delete its top level window.
Definition at line 33 of file qplatformwindow.cpp.
|
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().
Referenced by QCocoaWindow::~QCocoaWindow().
|
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 849 of file qplatformwindow.cpp.
References QWindowPrivate::closestAcceptableGeometry(), QHighDpi::fromNativeWindowGeometry(), QRectF::isEmpty(), qt_window_private(), and QHighDpi::toNativeWindowGeometry().
Referenced by QWindowsWindow::handleGeometryChangingMessage(), and windowClosestAcceptableGeometry().
Returns a size with both dimensions bounded to [0, QWINDOWSIZE_MAX].
Definition at line 573 of file qplatformwindow.cpp.
References QSize::boundedTo(), QSize::expandedTo(), and QWINDOWSIZE_MAX.
Referenced by windowMaximumSize(), and windowMinimumSize().
|
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(), request, QCoreApplication::sendEvent(), QEvent::UpdateRequest, QWindowPrivate::updateRequestPending, and window().
Referenced by QCocoaWindow::deliverUpdateRequest(), QtWaylandClient::QWaylandWindow::deliverUpdateRequest(), and windowEvent().
|
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.
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().
|
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.
|
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(), QString::isEmpty(), and title.
Referenced by QWindowsWindow::formatWindowTitle(), and QXcbWindow::setWindowTitle().
|
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().
|
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.
|
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(), QAndroidPlatformForeignWindow::applicationStateChanged(), QAndroidPlatformWindow::applicationStateChanged(), QAndroidPlatformOpenGLWindow::checkNativeSurface(), QtWaylandClient::QWaylandEglWindow::contentFBO(), QtWaylandClient::QWaylandEglWindow::contentsRect(), QXcbWindow::create(), QAndroidPlatformOpenGLWindow::eglSurface(), QXcbWindow::frameMargins(), QCocoaWindow::geometry(), QEglFSWindow::geometry(), QQnxScreen::grabWindow(), QXcbWindow::handleMapNotifyEvent(), QXcbWindow::initialScreen(), QQnxWindow::initWindow(), QFbWindow::lower(), QXcbWindow::propagateSizeHints(), QFbWindow::raise(), QFbWindow::repaint(), QAndroidPlatformOpenGLWindow::repaint(), QQnxWindow::setExposed(), QFbWindow::setGeometry(), QAndroidPlatformOpenGLWindow::setGeometry(), QAndroidPlatformVulkanWindow::setGeometry(), QOffscreenWindow::setGeometry(), QXcbWindow::setParent(), QXcbWindow::setTransparentForMouseEvents(), setVisible(), QFbWindow::setVisible(), QAndroidPlatformForeignWindow::setVisible(), QAndroidPlatformWindow::setVisible(), QDirectFbWindow::setVisible(), QHaikuWindow::setVisible(), QOffscreenWindow::setVisible(), QQnxWindow::setVisible(), QOffscreenWindow::setWindowState(), QAndroidPlatformOpenGLWindow::surfaceChanged(), QtWaylandClient::QWaylandBrcmEglWindow::swapBuffers(), QtWaylandClient::QWaylandEglWindow::updateSurface(), QAndroidPlatformVulkanWindow::vkSurface(), windowGeometry(), and QtWaylandClient::QWaylandXdgSurface::xdg_surface_configure().
|
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.
Reimplemented in QIOSWindow, and QtWaylandClient::QWaylandWindow.
Definition at line 396 of file qplatformwindow.cpp.
References Q_UNUSED.
bool QPlatformWindow::hasPendingUpdateRequest | ( | ) | const |
Returns true if the window has a pending update request.
Definition at line 763 of file qplatformwindow.cpp.
References qt_window_private(), QWindowPrivate::updateRequestPending, and window().
Referenced by deliverUpdateRequest(), and QtWaylandClient::QWaylandWindow::reinit().
|
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(), QRect::height(), initialGeometry(), QRect::moveCenter(), Qt::Popup, position(), qt_window_private(), screen(), QGuiApplication::screenAt(), QRect::setSize(), QRect::size(), QHighDpi::toNative(), QHighDpi::toNativePixels(), QRect::topLeft(), and QRect::width().
Referenced by QAndroidPlatformWindow::QAndroidPlatformWindow(), QHaikuWindow::QHaikuWindow(), QIOSWindow::QIOSWindow(), WindowCreationData::create(), initialGeometry(), and QCocoaWindow::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().
|
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().
|
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().
|
virtual |
Reimplement this method return whether the window is in an alert state.
Reimplemented in QCocoaWindow, QWindowsWindow, QXcbWindow, and QtWaylandClient::QWaylandWindow.
Definition at line 599 of file qplatformwindow.cpp.
Referenced by QWindowPrivate::_q_clearAlert().
|
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().
|
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.
Referenced by QWindowPrivate::globalPosition().
|
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().
|
inlinevirtual |
Reimplemented in QAndroidPlatformForeignWindow, QCocoaWindow, QQnxForeignWindow, QWindowsForeignWindow, and QXcbForeignWindow.
Definition at line 79 of file qplatformwindow.h.
Referenced by QWindowsWindow::checkForScreenChanged(), QXcbWindow::create(), QWindowPrivate::globalPosition(), QAndroidPlatformWindow::isRaster(), isValidWheelReceiver(), isValidWheelReceiver(), screenForGeometry(), and QXcbWindow::setParent().
|
virtual |
Reimplement to be able to let Qt lower windows to the bottom of the desktop.
Reimplemented in QFbWindow, QAndroidPlatformForeignWindow, QAndroidPlatformWindow, QCocoaWindow, QDirectFbWindow, QEglFSWindow, QIOSWindow, QQnxWindow, QWasmWindow, QWindowsForeignWindow, QWindowsWindow, QXcbWindow, and QtWaylandClient::QWaylandWindow.
Definition at line 340 of file qplatformwindow.cpp.
References qWarning.
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().
Definition at line 240 of file qplatformwindow.cpp.
References mapFromGlobal(), and pos.
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(), screenForGeometry(), QCocoaMenu::showPopup(), QGtk3Menu::showPopup(), and QAndroidInputContext::updateSelectionHandles().
Definition at line 233 of file qplatformwindow.cpp.
References mapToGlobal(), and pos.
|
virtual |
Returns the geometry of a window in 'normal' state (neither maximized, fullscreen nor minimized) for saving geometries to application settings.
Reimplemented in QCocoaWindow, QWasmWindow, and QWindowsWindow.
Definition at line 122 of file qplatformwindow.cpp.
QPlatformWindow * QPlatformWindow::parent | ( | ) | const |
Returns the parent platform window (or \nullptr if orphan).
Definition at line 59 of file qplatformwindow.cpp.
References window().
Referenced by QIOSWindow::QIOSWindow(), QQnxWindow::QQnxWindow(), QWasmWindow::QWasmWindow(), QtWaylandClient::QWaylandWindow::~QWaylandWindow(), QWindowsWindow::applyCursor(), QWindowsWindow::checkForScreenChanged(), QXcbWindow::create(), QXcbWindow::frameMargins(), QXcbWindow::handleButtonPressEvent(), QXcbWindow::handleConfigureNotifyEvent(), QQnxWindow::initWindow(), isAncestorOf(), QWindowsBaseWindow::isTopLevel_sys(), QWasmWindow::parentNode(), QXcbWindow::parentScreen(), QCocoaWindow::recreateWindowIfNeeded(), QAndroidPlatformOpenGLWindow::repaint(), QQnxWindow::requestActivateWindow(), screenForGeometry(), QWasmWindow::setGeometry(), QXcbWindow::setGeometry(), QtWaylandClient::QWaylandWindow::setGeometry(), QtWaylandClient::QWaylandWindow::setParent(), setParent(), QXcbWindow::setParent(), QQnxWindow::setVisible(), QWasmWindow::setWindowState(), QWindowsWindow::topLevelOf(), and QXcbWindow::windowEvent().
|
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 QWidgetPrivate::setConstraints_sys(), and QWindowPrivate::setMinOrMaxSize().
|
virtual |
Reimplement to be able to let Qt raise windows to the top of the desktop.
Reimplemented in QFbWindow, QAndroidPlatformForeignWindow, QAndroidPlatformWindow, QCocoaWindow, QDirectFbWindow, QEglFSWindow, QIOSWindow, QQnxWindow, QWasmWindow, QWindowsForeignWindow, QWindowsWindow, QXcbWindow, and QtWaylandClient::QWaylandWindow.
Definition at line 335 of file qplatformwindow.cpp.
References qWarning.
|
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::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 in QAndroidPlatformWindow, QCocoaWindow, QEglFSWindow, QHaikuWindow, QIOSWindow, QOffscreenWindow, QQnxWindow, QWasmWindow, QWindowsWindow, QXcbWindow, and QtWaylandClient::QWaylandWindow.
Definition at line 382 of file qplatformwindow.cpp.
References QWindowSystemInterface::handleWindowActivated(), and window().
Referenced by QHaikuIntegration::createPlatformWindow(), QWasmWindow::requestActivateWindow(), and QXcbWindow::requestActivateWindow().
|
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().
|
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().
|
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 QIOSWindow::QIOSWindow(), 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(), QMinimalEglWindow::setGeometry(), QWasmWindow::setGeometry(), QVkKhrDisplayWindow::setGeometry(), QAndroidPlatformOpenGLWindow::setGeometry(), QAndroidPlatformVulkanWindow::setGeometry(), QIOSWindow::setParent(), QAndroidPlatformWindow::setVisible(), QWasmWindow::setWindowIcon(), QIOSWindow::setWindowState(), QOffscreenWindow::setWindowState(), QAndroidPlatformOpenGLWindow::surfaceChanged(), QtWaylandClient::QWaylandWindow::waylandScreen(), and QXcbWindow::xcbScreen().
|
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().
Definition at line 547 of file qplatformwindow.cpp.
References QRect::center(), QRect::contains(), QPlatformScreen::geometry(), QRect::intersects(), QRect::isEmpty(), isForeignWindow(), mapToGlobal(), parent(), screen(), QRect::topLeft(), and QPlatformScreen::virtualSiblings().
Referenced by QXcbWindow::handleConfigureNotifyEvent(), and QXcbWindow::setGeometry().
|
virtual |
Reimplement this method to set whether the window demands attention (for example, by flashing the taskbar icon) depending on enabled.
Reimplemented in QCocoaWindow, QWindowsWindow, QXcbWindow, and QtWaylandClient::QWaylandWindow.
Definition at line 586 of file qplatformwindow.cpp.
References Q_UNUSED.
Referenced by QWindowPrivate::_q_clearAlert().
|
virtual |
Reimplement this method to set whether frame strut events should be sent to enabled.
Reimplemented in QCocoaWindow, and QWindowsWindow.
Definition at line 498 of file qplatformwindow.cpp.
References Q_UNUSED.
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.
Referenced by 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().
|
virtual |
Reimplemented in QAndroidPlatformWindow, QCocoaWindow, QDirectFbWindow, QIOSWindow, QWindowsWindow, QXcbWindow, QFbWindow, QEglFSWindow, QWasmWindow, and QtWaylandClient::QWaylandWindow.
Definition at line 413 of file qplatformwindow.cpp.
Reimplement to be able to let Qt set the mask of a window.
Reimplemented in QEglFSWindow, QWasmWindow, QCocoaWindow, QWindowsWindow, QXcbWindow, and QtWaylandClient::QWaylandWindow.
Definition at line 363 of file qplatformwindow.cpp.
|
virtual |
Reimplemented in QWasmWindow, QAndroidPlatformWindow, QCocoaWindow, QDirectFbWindow, QIOSWindow, QWindowsWindow, QXcbWindow, QtWaylandClient::QWaylandWindow, QFbWindow, and QEglFSWindow.
Definition at line 420 of file qplatformwindow.cpp.
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.
|
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, QAndroidPlatformForeignWindow, QAndroidPlatformWindow, QCocoaWindow, QIOSWindow, QQnxRasterWindow, QQnxWindow, QWindowsForeignWindow, QWindowsWindow, and QXcbWindow.
Definition at line 294 of file qplatformwindow.cpp.
References parent(), Q_UNUSED, and qWarning.
|
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().
Reimplement to set the window file path to filePath.
Reimplemented in QCocoaWindow.
Definition at line 313 of file qplatformwindow.cpp.
References Q_UNUSED.
|
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.
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.
|
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().
|
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().
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 in QCocoaWindow, QHaikuWindow, QWasmWindow, QWindowsForeignWindow, QWindowsWindow, QXcbWindow, and QtWaylandClient::QWaylandWindow.
Definition at line 308 of file qplatformwindow.cpp.
|
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.
Reimplemented in QCocoaWindow, QWindowsWindow, QXcbWindow, and QtWaylandClient::QWaylandWindow.
Definition at line 486 of file qplatformwindow.cpp.
|
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.
Reimplemented in QWindowsWindow, QXcbWindow, and QtWaylandClient::QWaylandWindow.
Definition at line 471 of file qplatformwindow.cpp.
References Q_UNUSED.
Referenced by QSizeGrip::mousePressEvent().
QWindow * QPlatformWindow::window | ( | ) | const |
Returns the window which belongs to the QPlatformWindow.
Definition at line 51 of file qplatformwindow.cpp.
Referenced by QAndroidPlatformWindow::QAndroidPlatformWindow(), 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(), QCocoaWindow::~QCocoaWindow(), QQnxWindow::~QQnxWindow(), QVkKhrDisplayWindow::~QVkKhrDisplayWindow(), QtWaylandClient::QWaylandWindow::~QWaylandWindow(), QXcbVulkanWindow::~QXcbVulkanWindow(), QWindowsWindow::aboutToMakeCurrent(), QQnxScreen::activateWindowGroup(), QQnxRasterWindow::adjustBufferSize(), QCocoaWindow::alwaysShowToolWindow(), QAndroidPlatformWindow::applicationStateChanged(), QCocoaWindow::applyContentBorderThickness(), QWindowsWindow::applyCursor(), QCocoaWindow::applyWindowState(), QQnxRasterWindow::blitPreviousToCurrent(), QWindowsWindow::checkForScreenChanged(), QAndroidPlatformOpenGLWindow::checkNativeSurface(), QCocoaWindow::childWindowAt(), close(), QEglFSWindow::create(), QXcbWindow::create(), QDirectFbWindowEGL::createDirectFBWindow(), QDirectFbWindow::createDirectFBWindow(), QAndroidPlatformOpenGLWindow::createEgl(), QCocoaWindow::createNSWindow(), deliverUpdateRequest(), QCocoaWindow::deliverUpdateRequest(), QXcbWindow::doFocusIn(), QAndroidPlatformOpenGLWindow::eglSurface(), 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(), QIOSWindow::handleContentOrientationChange(), QWindowsWindow::handleDpiChanged(), QWindowsWindow::handleDpiScaledSize(), QXcbWindow::handleEnterNotifyEvent(), QCocoaWindow::handleExposeEvent(), QXcbWindow::handleExposeEvent(), QCocoaWindow::handleGeometryChange(), QWindowsWindow::handleGeometryChanging(), QXcbKeyboard::handleKeyEvent(), QXcbWindow::handleLeaveNotifyEvent(), QXcbWindow::handleMapNotifyEvent(), QXcbWindow::handleMouseEvent(), QXcbWindow::handleNativeEvent(), QWindowsWindow::handleNonClientHitTest(), QXcbWindow::handlePropertyNotifyEvent(), QXcbWindow::handleUnmapNotifyEvent(), QCocoaWindow::handleWindowStateChanged(), QWindowsWindow::handleWmPaint(), QXcbWindow::handleXEmbedMessage(), QXcbWindow::handleXIEnterLeave(), hasPendingUpdateRequest(), QXcbWindow::hide(), QCocoaWindow::initialize(), QWindowsWindow::initialize(), QXcbWindow::initialScreen(), QQnxWindow::initWindow(), QWindowsWindow::invalidateSurface(), QtWaylandClient::QWaylandVulkanWindow::invalidateSurface(), QCocoaWindow::isEmbedded(), isExposed(), QAndroidPlatformWindow::isExposed(), QIOSWindow::isExposed(), QCocoaWindow::isOpaque(), QAndroidPlatformWindow::isRaster(), 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(), QWindowsWindow::moveTransientChildren(), msgUnableToSetGeometry(), QWindowsWindow::normalGeometry(), parent(), QCocoaMenuBar::parentWindow(), QFbWindow::platformScreen(), QAndroidPlatformWindow::platformScreen(), QQnxRasterWindow::post(), QWindowsDirect2DWindow::present(), QCocoaWindow::propagateSizeHints(), QHaikuWindow::propagateSizeHints(), QWindowsWindow::propagateSizeHints(), QXcbWindow::propagateSizeHints(), QFbWindow::raise(), QCocoaWindow::raise(), QDirectFbWindow::raise(), QEglFSWindow::raise(), QQnxWindow::raise(), QWindowsBaseWindow::raise_sys(), QCocoaWindow::recreateWindowIfNeeded(), QWindowsWindow::registerTouchWindow(), QtWaylandClient::QWaylandWindow::reinit(), QXcbWindow::relayFocusToModalWindow(), QQnxRasterWindow::renderBuffer(), QAndroidPlatformOpenGLWindow::repaint(), requestActivateWindow(), QAndroidPlatformWindow::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(), QXcbWindow::sendXEmbedMessage(), QEglFSWindow::setBackingStore(), QQnxWindow::setBufferSize(), QCocoaWindow::setCocoaGeometry(), QWindowsWindow::setCursor(), QWindowsWindow::setDarkBorder(), QQnxWindow::setExposed(), QWindowsWindow::setExStyle(), QWidgetPrivate::setFocus_sys(), 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(), QWindowsBaseWindow::setGeometry_sys(), QWindowsWindow::setHasBorderInFullScreenStatic(), QWindowsWindow::setKeyboardGrabEnabled(), QCocoaWindow::setMask(), QWindowsWindow::setMask(), QWindowsWindow::setMouseGrabEnabled(), QXcbWindow::setNetWmStateOnUnmappedWindow(), QQnxWindow::setOpacity(), QWindowsWindow::setOpacity(), QAndroidPlatformForeignWindow::setParent(), QAndroidPlatformWindow::setParent(), QCocoaWindow::setParent(), QQnxWindow::setParent(), QWindowsForeignWindow::setParent(), QWindowsWindow::setParent(), QOffscreenCursor::setPos(), 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(), QAndroidPlatformWindow::setWindowState(), QCocoaWindow::setWindowState(), QIOSWindow::setWindowState(), QOffscreenWindow::setWindowState(), QCocoaWindow::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(), QAndroidPlatformOpenGLWindow::surfaceChanged(), QCocoaWindow::toggleFullScreen(), QCocoaWindow::toggleMaximized(), QCocoaScreen::topLevelAt(), QXcbScreen::topLevelAt(), QtWaylandClient::QWaylandEglWindow::updateSurface(), QAndroidPlatformWindow::updateSystemUiVisibility(), QCocoaWindow::updateTitleBarButtons(), QAndroidPlatformVulkanWindow::vkSurface(), QtWaylandClient::QWaylandVulkanWindow::vkSurface(), QVkKhrDisplayWindow::vulkanSurfacePtr(), windowBaseSize(), windowClosestAcceptableGeometry(), QCocoaWindow::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().
QSize QPlatformWindow::windowBaseSize | ( | ) | const |
Returns the QWindow base size.
Definition at line 805 of file qplatformwindow.cpp.
References QHighDpi::toNativePixels(), and window().
Referenced by QCocoaWindow::propagateSizeHints(), and QXcbWindow::propagateSizeHints().
Definition at line 857 of file qplatformwindow.cpp.
References closestAcceptableGeometry(), and window().
|
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, and QXcbWindow.
Definition at line 447 of file qplatformwindow.cpp.
References d, deliverUpdateRequest(), and QEvent::Timer.
Referenced by QWidget::focusNextPrevChild(), QGuiApplicationPrivate::sendQWindowEventToQPlatformWindow(), QWasmWindow::windowEvent(), QCocoaWindow::windowEvent(), QWindowsWindow::windowEvent(), and QXcbWindow::windowEvent().
QRect QPlatformWindow::windowFrameGeometry | ( | ) | const |
Returns the QWindow frame geometry.
Definition at line 838 of file qplatformwindow.cpp.
References frameGeometry(), QHighDpi::toNativeWindowGeometry(), and window().
Referenced by QtWaylandClient::QWaylandWlShellSurface::applyConfigure().
QRect QPlatformWindow::windowGeometry | ( | ) | const |
Returns the QWindow geometry.
Definition at line 830 of file qplatformwindow.cpp.
References geometry(), QHighDpi::toNativeWindowGeometry(), and window().
Referenced by QOffscreenWindow::QOffscreenWindow(), QCocoaWindow::initialize(), QWasmWindow::initialize(), QWasmWindow::propagateSizeHints(), and QCocoaWindow::setVisible().
QSize QPlatformWindow::windowMaximumSize | ( | ) | const |
Returns the QWindow maximum size.
Definition at line 797 of file qplatformwindow.cpp.
References constrainWindowSize(), QHighDpi::toNativePixels(), and window().
Referenced by QWasmWindow::initialize(), QCocoaWindow::isFixedSize(), QCocoaWindow::propagateSizeHints(), QXcbWindow::propagateSizeHints(), QWasmWindow::setGeometry(), and QtWaylandClient::QWaylandXdgSurface::setSizeHints().
QSize QPlatformWindow::windowMinimumSize | ( | ) | const |
Returns the QWindow minimum size.
Definition at line 789 of file qplatformwindow.cpp.
References constrainWindowSize(), QHighDpi::toNativePixels(), and window().
Referenced by QXcbWindow::create(), QWasmWindow::initialize(), QCocoaWindow::isFixedSize(), QCocoaWindow::propagateSizeHints(), QWasmWindow::propagateSizeHints(), QXcbWindow::propagateSizeHints(), QWasmWindow::setGeometry(), and QtWaylandClient::QWaylandXdgSurface::setSizeHints().
QSize QPlatformWindow::windowSizeIncrement | ( | ) | const |
Returns the QWindow size increment.
Definition at line 813 of file qplatformwindow.cpp.
References increment(), QHighDpiScaling::isActive(), QHighDpi::toNativePixels(), and window().
Referenced by QCocoaWindow::propagateSizeHints(), and QXcbWindow::propagateSizeHints().
|
virtual |
Reimplement in subclasses to return a handle to the native window.
Reimplemented in QFbWindow, 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(), QWindowsForeignWindow::setParent(), and QXcbWindow::show().
|
protected |
Definition at line 137 of file qplatformwindow.h.
Referenced by QCocoaWindow::initialize().