![]() |
Qt 6.x
The Qt SDK
|
Base class for QWindowsForeignWindow, QWindowsWindow. More...
#include <qwindowswindow.h>
Public Types | |
using | TouchWindowTouchType = QNativeInterface::Private::QWindowsApplication::TouchWindowTouchType |
using | TouchWindowTouchTypes = QNativeInterface::Private::QWindowsApplication::TouchWindowTouchTypes |
Public Member Functions | |
QWindowsBaseWindow (QWindow *window) | |
WId | winId () const override |
Reimplement in subclasses to return a handle to the native window. | |
QRect | geometry () const override |
Returns the current geometry of a window. | |
QMargins | frameMargins () const override |
QPoint | mapToGlobal (const QPoint &pos) const override |
Translates the window coordinate pos to global screen coordinates using native methods. | |
QPoint | mapFromGlobal (const QPoint &pos) const override |
Translates the global screen coordinate pos to window coordinates using native methods. | |
virtual QMargins | fullFrameMargins () const |
void | setHasBorderInFullScreen (bool border) override |
bool | hasBorderInFullScreen () const override |
QMargins | customMargins () const override |
void | setCustomMargins (const QMargins &margins) override |
virtual HWND | handle () const =0 |
virtual bool | isTopLevel () const |
unsigned | style () const |
unsigned | exStyle () const |
QPlatformScreen * | screenForGeometry (const QRect &newGeometry) const |
Helper function for finding the new screen for newGeometry in response to a geometry changed event. | |
![]() | |
QPlatformWindow (QWindow *window) | |
Constructs a platform window with the given top level window. | |
~QPlatformWindow () override | |
Virtual destructor does not delete its top level window. | |
virtual void | initialize () |
Called as part of QWindow::create(), after constructing the window. | |
QWindow * | window () const |
Returns the window which belongs to the QPlatformWindow. | |
QPlatformWindow * | parent () const |
Returns the parent platform window (or \nullptr if orphan). | |
QPlatformScreen * | screen () const override |
Returns the platform screen handle corresponding to this platform window, or null if the window is not associated with a screen. | |
virtual QSurfaceFormat | format () const override |
Returns the actual surface format of the window. | |
virtual void | setGeometry (const QRect &rect) |
This function is called by Qt whenever a window is moved or resized using the QWindow API. | |
virtual QRect | geometry () const |
Returns the current geometry of a window. | |
virtual QRect | normalGeometry () const |
Returns the geometry of a window in 'normal' state (neither maximized, fullscreen nor minimized) for saving geometries to application settings. | |
virtual QMargins | frameMargins () const |
virtual QMargins | safeAreaMargins () const |
The safe area margins of a window represent the area that is safe to place content within, without intersecting areas of the screen where system UI is placed, or where a screen bezel may cover the content. | |
virtual void | setVisible (bool visible) |
Reimplemented in subclasses to show the surface if visible is true , and hide it if visible is false . | |
virtual void | setWindowFlags (Qt::WindowFlags flags) |
Requests setting the window flags of this surface to flags. | |
virtual void | setWindowState (Qt::WindowStates state) |
Requests setting the window state of this surface to type. | |
virtual WId | winId () const |
Reimplement in subclasses to return a handle to the native window. | |
virtual void | setParent (const QPlatformWindow *window) |
This function is called to enable native child window in QPA. | |
virtual void | setWindowTitle (const QString &title) |
Reimplement to set the window title to title. | |
virtual void | setWindowFilePath (const QString &title) |
Reimplement to set the window file path to filePath. | |
virtual void | setWindowIcon (const QIcon &icon) |
Reimplement to set the window icon to icon. | |
virtual bool | close () |
Reimplement to let the platform handle non-spontaneous window close. | |
virtual void | raise () |
Reimplement to be able to let Qt raise windows to the top of the desktop. | |
virtual void | lower () |
Reimplement to be able to let Qt lower windows to the bottom of the desktop. | |
virtual bool | isExposed () const |
Returns if this window is exposed in the windowing system. | |
virtual bool | isActive () const |
Returns true if the window should appear active from a style perspective. | |
virtual bool | isAncestorOf (const QPlatformWindow *child) const |
Returns true if the window is an ancestor of the given child. | |
virtual bool | isEmbedded () const |
Returns true if the window is a child of a non-Qt window. | |
virtual bool | isForeignWindow () const |
virtual QPoint | mapToGlobal (const QPoint &pos) const |
Translates the window coordinate pos to global screen coordinates using native methods. | |
QPointF | mapToGlobalF (const QPointF &pos) const |
virtual QPoint | mapFromGlobal (const QPoint &pos) const |
Translates the global screen coordinate pos to window coordinates using native methods. | |
QPointF | mapFromGlobalF (const QPointF &pos) const |
virtual void | propagateSizeHints () |
Reimplement to propagate the size hints of the QWindow. | |
virtual void | setOpacity (qreal level) |
Reimplement to be able to let Qt set the opacity level of a window. | |
virtual void | setMask (const QRegion ®ion) |
Reimplement to be able to let Qt set the mask of a window. | |
virtual void | requestActivateWindow () |
Reimplement to let Qt be able to request activation/focus for a window. | |
virtual void | handleContentOrientationChange (Qt::ScreenOrientation orientation) |
Handle changes to the orientation of the platform window's contents. | |
virtual qreal | devicePixelRatio () const |
Reimplement this function in subclass to return the device pixel ratio for the window. | |
virtual bool | setKeyboardGrabEnabled (bool grab) |
virtual bool | setMouseGrabEnabled (bool grab) |
virtual bool | setWindowModified (bool modified) |
Reimplement to be able to let Qt indicate that the window has been modified. | |
virtual bool | windowEvent (QEvent *event) |
Reimplement this method to be able to do any platform specific event handling. | |
virtual bool | startSystemResize (Qt::Edges edges) |
Reimplement this method to start a system resize operation if the system supports it and return true to indicate success. | |
virtual bool | startSystemMove () |
Reimplement this method to start a system move operation if the system supports it and return true to indicate success. | |
virtual void | setFrameStrutEventsEnabled (bool enabled) |
Reimplement this method to set whether frame strut events should be sent to enabled. | |
virtual bool | frameStrutEventsEnabled () const |
Reimplement this method to return whether frame strut events are enabled. | |
virtual void | setAlertState (bool enabled) |
Reimplement this method to set whether the window demands attention (for example, by flashing the taskbar icon) depending on enabled. | |
virtual bool | isAlertState () const |
Reimplement this method return whether the window is in an alert state. | |
virtual void | invalidateSurface () |
Invalidates the window's surface by releasing its surface buffers. | |
virtual void | requestUpdate () |
Requests an QEvent::UpdateRequest event. | |
bool | hasPendingUpdateRequest () const |
Returns true if the window has a pending update request. | |
virtual void | deliverUpdateRequest () |
Delivers an QEvent::UpdateRequest event to the window. | |
QSize | windowMinimumSize () const |
Returns the QWindow minimum size. | |
QSize | windowMaximumSize () const |
Returns the QWindow maximum size. | |
QSize | windowBaseSize () const |
Returns the QWindow base size. | |
QSize | windowSizeIncrement () const |
Returns the QWindow size increment. | |
QRect | windowGeometry () const |
Returns the QWindow geometry. | |
QRect | windowFrameGeometry () const |
Returns the QWindow frame geometry. | |
QRectF | windowClosestAcceptableGeometry (const QRectF &nativeRect) const |
![]() | |
virtual | ~QPlatformSurface () |
virtual QSurfaceFormat | format () const =0 |
QSurface * | surface () const |
virtual QPlatformScreen * | screen () const =0 |
Static Public Member Functions | |
static bool | isRtlLayout (HWND hwnd) |
static QWindowsBaseWindow * | baseWindowOf (const QWindow *w) |
static HWND | handleOf (const QWindow *w) |
![]() | |
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 | |
HWND | parentHwnd () const |
bool | isTopLevel_sys () const |
QRect | frameGeometry_sys () const |
QRect | geometry_sys () const |
void | setGeometry_sys (const QRect &rect) const |
QMargins | frameMargins_sys () const |
std::optional< TouchWindowTouchTypes > | touchWindowTouchTypes_sys () const |
void | hide_sys () |
void | raise_sys () |
void | lower_sys () |
void | setWindowTitle_sys (const QString &title) |
![]() | |
QPlatformScreen * | screenForGeometry (const QRect &newGeometry) const |
Helper function for finding the new screen for newGeometry in response to a geometry changed event. | |
Additional Inherited Members | |
![]() | |
static QString | formatWindowTitle (const QString &title, const QString &separator) |
Call this method to put together a window title composed of title separator the application display name. | |
static QSize | constrainWindowSize (const QSize &size) |
Returns a size with both dimensions bounded to [0, QWINDOWSIZE_MAX]. | |
![]() | |
QScopedPointer< QPlatformWindowPrivate > | d_ptr |
Base class for QWindowsForeignWindow, QWindowsWindow.
The class provides some _sys() getters for querying window data from a HWND and some _sys() setters.
Derived classes wrapping foreign windows may use them directly to calculate geometry, margins, etc.
Derived classes representing windows created by Qt may defer expensive calculations until change notifications are received.
Definition at line 94 of file qwindowswindow.h.
using QWindowsBaseWindow::TouchWindowTouchType = QNativeInterface::Private::QWindowsApplication::TouchWindowTouchType |
Definition at line 99 of file qwindowswindow.h.
using QWindowsBaseWindow::TouchWindowTouchTypes = QNativeInterface::Private::QWindowsApplication::TouchWindowTouchTypes |
Definition at line 100 of file qwindowswindow.h.
|
inlineexplicit |
Definition at line 102 of file qwindowswindow.h.
|
static |
Definition at line 1211 of file qwindowswindow.cpp.
Referenced by handleOf().
|
override |
Definition at line 1312 of file qwindowswindow.cpp.
|
inline |
Definition at line 123 of file qwindowswindow.h.
References handle().
Referenced by frameMargins_sys(), QWindowsWindow::handleDpiScaledSize(), and QWindowsWindow::setWindowLayered().
|
protected |
Definition at line 1232 of file qwindowswindow.cpp.
References frameGeometry(), handle(), and isTopLevel().
Referenced by geometry_sys(), and QWindowsWindow::setCustomMargins().
|
inlineoverridevirtual |
Reimplemented from QPlatformWindow.
Reimplemented in QWindowsDesktopWindow, and QWindowsWindow.
Definition at line 106 of file qwindowswindow.h.
References fullFrameMargins().
|
protected |
Definition at line 1242 of file qwindowswindow.cpp.
References exStyle(), QWindowsGeometryHint::frame(), handle(), style(), and QPlatformWindow::window().
Referenced by fullFrameMargins().
|
inlinevirtual |
Reimplemented in QWindowsWindow.
Definition at line 109 of file qwindowswindow.h.
References frameMargins_sys().
Referenced by frameMargins(), geometry_sys(), and setGeometry_sys().
|
inlineoverridevirtual |
Returns the current geometry of a window.
Reimplemented from QPlatformWindow.
Reimplemented in QWindowsWindow.
Definition at line 105 of file qwindowswindow.h.
References geometry_sys().
|
protected |
Definition at line 1237 of file qwindowswindow.cpp.
References frameGeometry_sys(), fullFrameMargins(), and QRect::marginsRemoved().
Referenced by geometry(), setGeometry_sys(), and QWindowsWindow::setWindowFlags().
|
pure virtual |
Implemented in QWindowsDesktopWindow, QWindowsForeignWindow, and QWindowsWindow.
Referenced by exStyle(), frameGeometry_sys(), frameMargins_sys(), handleOf(), hide_sys(), lower_sys(), mapFromGlobal(), mapToGlobal(), parentHwnd(), raise_sys(), setGeometry_sys(), setWindowTitle_sys(), style(), touchWindowTouchTypes_sys(), and winId().
|
static |
Definition at line 1220 of file qwindowswindow.cpp.
References baseWindowOf(), and handle().
Referenced by WindowCreationData::fromWindow(), QWindowsGeometryHint::mapFromGlobal(), QWindowsGeometryHint::mapToGlobal(), QWindowsDialogHelperBase< BaseClass >::show(), showSystemMenu(), and QWindowsInputContext::startComposition().
|
override |
Definition at line 1306 of file qwindowswindow.cpp.
References Q_UNIMPLEMENTED.
|
protected |
Definition at line 1261 of file qwindowswindow.cpp.
References handle().
Referenced by QWindowsForeignWindow::setVisible(), and QWindowsWindow::setVisible().
|
static |
Definition at line 1206 of file qwindowswindow.cpp.
Referenced by clientToScreen(), WindowCreationData::create(), screenToClient(), setGeometry_sys(), QWindowsMouseHandler::translateMouseEvent(), and QWindowsPointerHandler::translateMouseEvent().
|
inlinevirtual |
Reimplemented in QWindowsDesktopWindow, and QWindowsWindow.
Definition at line 120 of file qwindowswindow.h.
References isTopLevel_sys().
Referenced by frameGeometry_sys(), setGeometry_sys(), and QWindowsForeignWindow::setParent().
|
protected |
Definition at line 1226 of file qwindowswindow.cpp.
References QPlatformWindow::parent(), and parentHwnd().
Referenced by QWindowsWindow::checkForScreenChanged(), isTopLevel(), and QWindowsForeignWindow::setParent().
|
protected |
Definition at line 1278 of file qwindowswindow.cpp.
References handle(), qCDebug, QPlatformWindow::window(), and Qt::WindowStaysOnTopHint.
Referenced by QWindowsForeignWindow::lower(), and QWindowsWindow::lower().
Translates the global screen coordinate pos to window coordinates using native methods.
This is required for embedded windows, where the topmost QWindow coordinates are not global screen coordinates.
Returns pos if there is no platform specific implementation.
Reimplemented from QPlatformWindow.
Reimplemented in QWindowsWindow.
Definition at line 1296 of file qwindowswindow.cpp.
References handle(), QWindowsGeometryHint::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 from QPlatformWindow.
Reimplemented in QWindowsWindow.
Definition at line 1291 of file qwindowswindow.cpp.
References handle(), QWindowsGeometryHint::mapToGlobal(), and pos.
|
inlineprotected |
Definition at line 130 of file qwindowswindow.h.
References handle().
Referenced by isTopLevel_sys().
|
protected |
Definition at line 1267 of file qwindowswindow.cpp.
References handle(), Qt::Popup, qCDebug, Qt::SubWindow, QPlatformWindow::window(), and Qt::WindowStaysOnBottomHint.
Referenced by QWindowsForeignWindow::raise(), and QWindowsWindow::raise().
QPlatformScreen * QPlatformWindow::screenForGeometry | ( | const QRect & | newGeometry | ) | const |
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 134 of file qplatformwindow.cpp.
Definition at line 1317 of file qwindowswindow.cpp.
References Q_UNIMPLEMENTED.
Definition at line 2331 of file qwindowswindow.cpp.
References frameGeometry(), fullFrameMargins(), geometry_sys(), handle(), QRect::height(), isRtlLayout(), isTopLevel(), qCDebug, rect, RECTfromQRect(), QRect::topLeft(), QRect::translated(), QRect::width(), QPlatformWindow::window(), windowPlacementOffset(), QRect::x(), and QRect::y().
Referenced by QWindowsForeignWindow::setGeometry(), and QWindowsWindow::setGeometry().
|
override |
Definition at line 1301 of file qwindowswindow.cpp.
References Q_UNIMPLEMENTED.
Definition at line 1285 of file qwindowswindow.cpp.
References handle(), qCDebug, title, QString::utf16(), and QPlatformWindow::window().
Referenced by QWindowsForeignWindow::setWindowTitle(), and QWindowsWindow::setWindowTitle().
|
inline |
Definition at line 122 of file qwindowswindow.h.
References handle().
Referenced by frameMargins_sys(), QWindowsWindow::handleDpiScaledSize(), QWindowsWindow::isEnabled(), QWindowsWindow::setEnabled(), QWindowsWindow::setHasBorderInFullScreen(), and QWindowsForeignWindow::setParent().
|
protected |
Definition at line 1248 of file qwindowswindow.cpp.
References handle().
Referenced by QWindowsWindow::QWindowsWindow(), and QWindowsWindow::registerTouchWindow().
|
inlineoverridevirtual |
Reimplement in subclasses to return a handle to the native window.
Reimplemented from QPlatformWindow.
Definition at line 104 of file qwindowswindow.h.
References handle().
Referenced by QWindowsBackingStore::flush().