Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QWindowsBaseWindow Class Referenceabstract

Base class for QWindowsForeignWindow, QWindowsWindow. More...

#include <qwindowswindow.h>

Inheritance diagram for QWindowsBaseWindow:
Collaboration diagram for QWindowsBaseWindow:

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
bool windowEvent (QEvent *event) override
 Reimplement this method to be able to do any platform specific event handling.
QPlatformScreenscreenForGeometry (const QRect &newGeometry) const
 Helper function for finding the new screen for newGeometry in response to a geometry changed event.
Public Member Functions inherited from QPlatformWindow
 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 normalGeometry () const
 Returns the geometry of a window in 'normal' state (neither maximized, fullscreen nor minimized) for saving geometries to application settings.
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 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 QString windowTitle () const
 Reimplement to return the actual window title used in the underlying windowing system unless the title set for the QWindow which belongs to this QPlatformWindow (i.e.
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
QPointF mapToGlobalF (const QPointF &pos) const
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 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.
virtual bool allowsIndependentThreadedRendering () const
 Returns whether applications can render new frames from any thread without co-ordination with the main thread.
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 bool isRtlLayout (HWND hwnd)
static QWindowsBaseWindowbaseWindowOf (const QWindow *w)
static HWND handleOf (const QWindow *w)
Static Public Member Functions inherited from QPlatformWindow
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().

Protected Member Functions

HWND parentHwnd () const
bool isTopLevel_sys () const
bool hasMaximumHeight () const
bool hasMaximumWidth () const
bool hasMaximumSize () const
QRect frameGeometry_sys () const
QRect geometry_sys () const
void setGeometry_sys (const QRect &rect) const
QMargins frameMargins_sys () const
std::optional< TouchWindowTouchTypestouchWindowTouchTypes_sys () const
void hide_sys ()
void raise_sys ()
void lower_sys ()
void setWindowTitle_sys (const QString &title)
Protected Member Functions inherited from QPlatformWindow
QPlatformScreenscreenForGeometry (const QRect &newGeometry) const
 Helper function for finding the new screen for newGeometry in response to a geometry changed event.

Additional Inherited Members

Static Protected Member Functions inherited from QPlatformWindow
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 inherited from QPlatformWindow
QScopedPointer< QPlatformWindowPrivated_ptr

Detailed Description

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.

Since
5.6

Definition at line 94 of file qwindowswindow.h.

Member Typedef Documentation

◆ TouchWindowTouchType

using QWindowsBaseWindow::TouchWindowTouchType = QNativeInterface::Private::QWindowsApplication::TouchWindowTouchType

Definition at line 99 of file qwindowswindow.h.

◆ TouchWindowTouchTypes

using QWindowsBaseWindow::TouchWindowTouchTypes = QNativeInterface::Private::QWindowsApplication::TouchWindowTouchTypes

Definition at line 100 of file qwindowswindow.h.

Constructor & Destructor Documentation

◆ QWindowsBaseWindow()

QWindowsBaseWindow::QWindowsBaseWindow ( QWindow * window)
inlineexplicit

Definition at line 102 of file qwindowswindow.h.

Member Function Documentation

◆ baseWindowOf()

QWindowsBaseWindow * QWindowsBaseWindow::baseWindowOf ( const QWindow * w)
static

Definition at line 1283 of file qwindowswindow.cpp.

◆ customMargins()

QMargins QWindowsBaseWindow::customMargins ( ) const
override

Definition at line 1384 of file qwindowswindow.cpp.

◆ exStyle()

unsigned QWindowsBaseWindow::exStyle ( ) const
inline

Definition at line 123 of file qwindowswindow.h.

◆ frameGeometry_sys()

QRect QWindowsBaseWindow::frameGeometry_sys ( ) const
protected

Definition at line 1304 of file qwindowswindow.cpp.

◆ frameMargins()

QMargins QWindowsBaseWindow::frameMargins ( ) const
inlineoverridevirtual

Reimplemented from QPlatformWindow.

Reimplemented in QWindowsDesktopWindow, and QWindowsWindow.

Definition at line 106 of file qwindowswindow.h.

◆ frameMargins_sys()

QMargins QWindowsBaseWindow::frameMargins_sys ( ) const
protected

Definition at line 1314 of file qwindowswindow.cpp.

◆ fullFrameMargins()

virtual QMargins QWindowsBaseWindow::fullFrameMargins ( ) const
inlinevirtual

Reimplemented in QWindowsWindow.

Definition at line 109 of file qwindowswindow.h.

◆ geometry()

QRect QWindowsBaseWindow::geometry ( ) const
inlineoverridevirtual

Returns the current geometry of a window.

Reimplemented from QPlatformWindow.

Reimplemented in QWindowsWindow.

Definition at line 105 of file qwindowswindow.h.

◆ geometry_sys()

QRect QWindowsBaseWindow::geometry_sys ( ) const
protected

Definition at line 1309 of file qwindowswindow.cpp.

◆ handle()

virtual HWND QWindowsBaseWindow::handle ( ) const
pure virtual

◆ handleOf()

HWND QWindowsBaseWindow::handleOf ( const QWindow * w)
static

Definition at line 1292 of file qwindowswindow.cpp.

◆ hasBorderInFullScreen()

bool QWindowsBaseWindow::hasBorderInFullScreen ( ) const
override

Definition at line 1378 of file qwindowswindow.cpp.

◆ hasMaximumHeight()

bool QWindowsBaseWindow::hasMaximumHeight ( ) const
inlineprotected

Definition at line 2642 of file qwindowswindow.cpp.

Referenced by hasMaximumSize().

Here is the caller graph for this function:

◆ hasMaximumSize()

bool QWindowsBaseWindow::hasMaximumSize ( ) const
inlineprotected

Definition at line 2652 of file qwindowswindow.cpp.

References hasMaximumHeight(), and hasMaximumWidth().

Here is the call graph for this function:

◆ hasMaximumWidth()

bool QWindowsBaseWindow::hasMaximumWidth ( ) const
inlineprotected

Definition at line 2647 of file qwindowswindow.cpp.

Referenced by hasMaximumSize().

Here is the caller graph for this function:

◆ hide_sys()

void QWindowsBaseWindow::hide_sys ( )
protected

Definition at line 1333 of file qwindowswindow.cpp.

Referenced by QWindowsForeignWindow::setVisible(), and QWindowsWindow::setVisible().

Here is the caller graph for this function:

◆ isRtlLayout()

bool QWindowsBaseWindow::isRtlLayout ( HWND hwnd)
static

Definition at line 1278 of file qwindowswindow.cpp.

◆ isTopLevel()

virtual bool QWindowsBaseWindow::isTopLevel ( ) const
inlinevirtual

Reimplemented in QWindowsDesktopWindow, and QWindowsWindow.

Definition at line 120 of file qwindowswindow.h.

References isTopLevel_sys().

Here is the call graph for this function:

◆ isTopLevel_sys()

bool QWindowsBaseWindow::isTopLevel_sys ( ) const
protected

Definition at line 1298 of file qwindowswindow.cpp.

Referenced by isTopLevel(), and QWindowsForeignWindow::setParent().

Here is the caller graph for this function:

◆ lower_sys()

void QWindowsBaseWindow::lower_sys ( )
protected

Definition at line 1350 of file qwindowswindow.cpp.

Referenced by QWindowsForeignWindow::lower(), and QWindowsWindow::lower().

Here is the caller graph for this function:

◆ mapFromGlobal()

QPoint QWindowsBaseWindow::mapFromGlobal ( const QPoint & pos) const
overridevirtual

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 1368 of file qwindowswindow.cpp.

◆ mapToGlobal()

QPoint QWindowsBaseWindow::mapToGlobal ( const QPoint & pos) const
overridevirtual

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 1363 of file qwindowswindow.cpp.

◆ parentHwnd()

HWND QWindowsBaseWindow::parentHwnd ( ) const
inlineprotected

Definition at line 132 of file qwindowswindow.h.

◆ raise_sys()

void QWindowsBaseWindow::raise_sys ( )
protected

Definition at line 1339 of file qwindowswindow.cpp.

Referenced by QWindowsForeignWindow::raise(), and QWindowsWindow::raise().

Here is the caller graph for this function:

◆ screenForGeometry()

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().

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 136 of file qplatformwindow.cpp.

◆ setCustomMargins()

void QWindowsBaseWindow::setCustomMargins ( const QMargins & margins)
override

Definition at line 1389 of file qwindowswindow.cpp.

◆ setGeometry_sys()

void QWindowsBaseWindow::setGeometry_sys ( const QRect & rect) const
protected

Definition at line 2414 of file qwindowswindow.cpp.

◆ setHasBorderInFullScreen()

void QWindowsBaseWindow::setHasBorderInFullScreen ( bool border)
override

Definition at line 1373 of file qwindowswindow.cpp.

◆ setWindowTitle_sys()

void QWindowsBaseWindow::setWindowTitle_sys ( const QString & title)
protected

Definition at line 1357 of file qwindowswindow.cpp.

◆ style()

unsigned QWindowsBaseWindow::style ( ) const
inline

Definition at line 122 of file qwindowswindow.h.

Referenced by QWindowsWindow::setEnabled(), and QWindowsForeignWindow::setParent().

Here is the caller graph for this function:

◆ touchWindowTouchTypes_sys()

std::optional< QWindowsBaseWindow::TouchWindowTouchTypes > QWindowsBaseWindow::touchWindowTouchTypes_sys ( ) const
protected

Definition at line 1320 of file qwindowswindow.cpp.

◆ windowEvent()

bool QWindowsBaseWindow::windowEvent ( QEvent * event)
overridevirtual

Reimplement this method to be able to do any platform specific event handling.

All non-synthetic events for window() are passed to this function before being sent to QWindow::event().

Return true if the event should not be passed on to the QWindow.

Subclasses should always call the base class implementation.

Reimplemented from QPlatformWindow.

Reimplemented in QWindowsWindow.

Definition at line 1394 of file qwindowswindow.cpp.

◆ winId()

WId QWindowsBaseWindow::winId ( ) const
inlineoverridevirtual

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

Reimplemented from QPlatformWindow.

Definition at line 104 of file qwindowswindow.h.


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