![]() |
Qt 6.x
The Qt SDK
|
#include <qwindowsdirect2dwindow.h>
Public Member Functions | |
QWindowsDirect2DWindow (QWindow *window, const QWindowsWindowData &data) | |
~QWindowsDirect2DWindow () | |
void | setWindowFlags (Qt::WindowFlags flags) override |
Requests setting the window flags of this surface to flags. | |
QPixmap * | pixmap () |
void | flush (QWindowsDirect2DBitmap *bitmap, const QRegion ®ion, const QPoint &offset) |
void | present (const QRegion ®ion) |
void | setupSwapChain () |
void | resizeSwapChain (const QSize &size) |
QSharedPointer< QWindowsDirect2DBitmap > | copyBackBuffer () const |
![]() | |
QWindowsWindow (QWindow *window, const QWindowsWindowData &data) | |
~QWindowsWindow () override | |
void | initialize () override |
Called as part of QWindow::create(), after constructing the window. | |
QSurfaceFormat | format () const override |
Returns the actual surface format of the window. | |
void | setGeometry (const QRect &rect) override |
This function is called by Qt whenever a window is moved or resized using the QWindow API. | |
QRect | geometry () const override |
Returns the current geometry of a window. | |
QRect | normalGeometry () const override |
Returns the geometry of a window in 'normal' state (neither maximized, fullscreen nor minimized) for saving geometries to application settings. | |
QRect | restoreGeometry () const |
void | updateRestoreGeometry () |
QRect | preMoveRect () const |
void | setPreMoveRect (const QRect &rect) |
void | moveTransientChildren () |
void | setVisible (bool visible) override |
Reimplemented in subclasses to show the surface if visible is true , and hide it if visible is false . | |
bool | isVisible () const |
bool | isExposed () const override |
Returns if this window is exposed in the windowing system. | |
bool | isActive () const override |
Returns true if the window should appear active from a style perspective. | |
bool | isAncestorOf (const QPlatformWindow *child) const override |
Returns true if the window is an ancestor of the given child. | |
bool | isEmbedded () const override |
Returns true if the window is a child of a non-Qt window. | |
QPoint | mapToGlobal (const QPoint &pos) const override |
Translates the window coordinate pos to global screen coordinates using native methods. | |
QPoint | mapFromGlobal (const QPoint &pos) const override |
Translates the global screen coordinate pos to window coordinates using native methods. | |
void | setWindowFlags (Qt::WindowFlags flags) override |
Requests setting the window flags of this surface to flags. | |
void | setWindowState (Qt::WindowStates state) override |
Requests setting the window state of this surface to type. | |
void | setParent (const QPlatformWindow *window) override |
This function is called to enable native child window in QPA. | |
void | setWindowTitle (const QString &title) override |
Reimplement to set the window title to title. | |
void | raise () override |
Reimplement to be able to let Qt raise windows to the top of the desktop. | |
void | lower () override |
Reimplement to be able to let Qt lower windows to the bottom of the desktop. | |
bool | windowEvent (QEvent *event) override |
Reimplement this method to be able to do any platform specific event handling. | |
void | propagateSizeHints () override |
Reimplement to propagate the size hints of the QWindow. | |
bool | handleGeometryChanging (MSG *message) const |
QMargins | frameMargins () const override |
QMargins | fullFrameMargins () const override |
void | setFullFrameMargins (const QMargins &newMargins) |
void | updateFullFrameMargins () |
void | setOpacity (qreal level) override |
Reimplement to be able to let Qt set the opacity level of a window. | |
void | setMask (const QRegion ®ion) override |
Reimplement to be able to let Qt set the mask of a window. | |
qreal | opacity () const |
void | requestActivateWindow () override |
Reimplement to let Qt be able to request activation/focus for a window. | |
bool | setKeyboardGrabEnabled (bool grab) override |
bool | setMouseGrabEnabled (bool grab) override |
bool | hasMouseCapture () const |
bool | startSystemResize (Qt::Edges edges) override |
Reimplement this method to start a system resize operation if the system supports it and return true to indicate success. | |
bool | startSystemMove () override |
Reimplement this method to start a system move operation if the system supports it and return true to indicate success. | |
void | setFrameStrutEventsEnabled (bool enabled) override |
Reimplement this method to set whether frame strut events should be sent to enabled. | |
bool | frameStrutEventsEnabled () const override |
Reimplement this method to return whether frame strut events are enabled. | |
HWND | handle () const override |
bool | isTopLevel () const override |
void | setDarkBorder (bool d) |
QWindowsMenuBar * | menuBar () const |
void | setMenuBar (QWindowsMenuBar *mb) |
QMargins | customMargins () const override |
void | setCustomMargins (const QMargins &m) override |
Sets custom margins to be added to the default margins determined by the windows style in the handling of the WM_NCCALCSIZE message. | |
void | setStyle (unsigned s) const |
void | setExStyle (unsigned s) const |
bool | handleWmPaint (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam, LRESULT *result) |
void | handleMoved () |
void | handleResized (int wParam, LPARAM lParam) |
void | handleHidden () |
void | handleCompositionSettingsChanged () |
void | handleDpiScaledSize (WPARAM wParam, LPARAM lParam, LRESULT *result) |
void | handleDpiChanged (HWND hwnd, WPARAM wParam, LPARAM lParam) |
void | handleDpiChangedAfterParent (HWND hwnd) |
bool | isLayered () const |
HDC | getDC () |
Allocates a HDC for the window or returns the temporary one obtained from WinAPI BeginPaint within a WM_PAINT event. | |
void | releaseDC () |
Releases the HDC for the window or does nothing in case it was obtained from WinAPI BeginPaint within a WM_PAINT event. | |
void | getSizeHints (MINMAXINFO *mmi) const |
bool | handleNonClientHitTest (const QPoint &globalPos, LRESULT *result) const |
CursorHandlePtr | cursor () const |
void | setCursor (const CursorHandlePtr &c) |
void | applyCursor () |
Applies to cursor property set on the window to the global cursor. | |
bool | testFlag (unsigned f) const |
void | setFlag (unsigned f) const |
void | clearFlag (unsigned f) const |
void | setEnabled (bool enabled) |
bool | isEnabled () const |
void | setWindowIcon (const QIcon &icon) override |
Reimplement to set the window icon to icon. | |
void * | surface (void *nativeConfig, int *err) |
void | invalidateSurface () override |
Invalidates the window's surface by releasing its surface buffers. | |
void | aboutToMakeCurrent () |
void | setAlertState (bool enabled) override |
Reimplement this method to set whether the window demands attention (for example, by flashing the taskbar icon) depending on enabled. | |
bool | isAlertState () const override |
Reimplement this method return whether the window is in an alert state. | |
void | alertWindow (int durationMs=0) |
void | stopAlertWindow () |
void | checkForScreenChanged (ScreenChangeMode mode=FromGeometryChange) |
void | registerTouchWindow () |
void | setHasBorderInFullScreen (bool border) override |
bool | hasBorderInFullScreen () const override |
void | setSavedDpi (int dpi) |
int | savedDpi () const |
qreal | dpiRelativeScale (const UINT dpi) const |
QPlatformScreen * | screenForGeometry (const QRect &newGeometry) const |
Helper function for finding the new screen for newGeometry in response to a geometry changed event. | |
![]() | |
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 |
Additional Inherited Members | |
![]() | |
enum | Flags { AutoMouseCapture = 0x1 , WithinSetParent = 0x2 , WithinSetGeometry = 0x8 , OpenGLSurface = 0x10 , OpenGLDoubleBuffered = 0x40 , OpenGlPixelFormatInitialized = 0x80 , BlockedByModal = 0x100 , SizeGripOperation = 0x200 , FrameStrutEventsEnabled = 0x400 , SynchronousGeometryChangeEvent = 0x800 , WithinSetStyle = 0x1000 , WithinDestroy = 0x2000 , TouchRegistered = 0x4000 , AlertState = 0x8000 , Exposed = 0x10000 , WithinCreate = 0x20000 , WithinMaximize = 0x40000 , MaximizeToFullScreen = 0x80000 , Compositing = 0x100000 , HasBorderInFullScreen = 0x200000 , VulkanSurface = 0x400000 , ResizeMoveActive = 0x800000 , DisableNonClientScaling = 0x1000000 , Direct3DSurface = 0x2000000 , RestoreOverrideCursor = 0x4000000 } |
enum | ScreenChangeMode { FromGeometryChange , FromDpiChange } |
![]() | |
using | TouchWindowTouchType = QNativeInterface::Private::QWindowsApplication::TouchWindowTouchType |
using | TouchWindowTouchTypes = QNativeInterface::Private::QWindowsApplication::TouchWindowTouchTypes |
![]() | |
static QWindow * | topTransientOf (QWindow *w) |
static bool | handleGeometryChangingMessage (MSG *message, const QWindow *qWindow, const QMargins &marginsDp) |
static bool | setDarkBorderToWindow (HWND hwnd, bool d) |
static void | displayChanged () |
static void | settingsChanged () |
static QScreen * | forcedScreenForGLWindow (const QWindow *w) |
static QWindowsWindow * | windowsWindowOf (const QWindow *w) |
static QWindow * | topLevelOf (QWindow *w) |
static void * | userDataOf (HWND hwnd) |
static void | setUserDataOf (HWND hwnd, void *ud) |
static bool | setWindowLayered (HWND hwnd, Qt::WindowFlags flags, bool hasAlpha, qreal opacity) |
static void | setHasBorderInFullScreenStatic (QWindow *window, bool border) |
static void | setHasBorderInFullScreenDefault (bool border) |
static QString | formatWindowTitle (const QString &title) |
![]() | |
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) |
![]() | |
static const char * | embeddedNativeParentHandleProperty = "_q_embedded_native_parent_handle" |
static const char * | hasBorderInFullScreenProperty = "_q_has_border_in_fullscreen" |
![]() | |
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. | |
![]() | |
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 |
Definition at line 17 of file qwindowsdirect2dwindow.h.
QT_BEGIN_NAMESPACE QWindowsDirect2DWindow::QWindowsDirect2DWindow | ( | QWindow * | window, |
const QWindowsWindowData & | data | ||
) |
Definition at line 19 of file qwindowsdirect2dwindow.cpp.
References QWindowsDirect2DContext::d2dDevice(), Qt::Desktop, QWindowsDirect2DContext::instance(), qWarning, setupSwapChain(), and QPlatformWindow::window().
QWindowsDirect2DWindow::~QWindowsDirect2DWindow | ( | ) |
Definition at line 36 of file qwindowsdirect2dwindow.cpp.
QSharedPointer< QWindowsDirect2DBitmap > QWindowsDirect2DWindow::copyBackBuffer | ( | ) | const |
Definition at line 190 of file qwindowsdirect2dwindow.cpp.
References QWindowsDirect2DBitmap::bitmap(), copy(), QWindowsWindow::format(), properties, and qWarning.
void QWindowsDirect2DWindow::flush | ( | QWindowsDirect2DBitmap * | bitmap, |
const QRegion & | region, | ||
const QPoint & | offset | ||
) |
Definition at line 58 of file qwindowsdirect2dwindow.cpp.
References QWindowsDirect2DDeviceContext::begin(), QScopedPointer< T, Cleanup >::data(), desc, QWindowsDirect2DBitmap::deviceContext(), QWindowsDirect2DDeviceContext::end(), QWindowsWindow::geometry(), QWindowsDirect2DDeviceContext::get(), QRect::height(), rect, resizeSwapChain(), QRect::size(), to_d2d_rect_f(), QRectF::translated(), and QRect::width().
Referenced by QWindowsDirect2DBackingStore::flush().
QPixmap * QWindowsDirect2DWindow::pixmap | ( | ) |
Definition at line 51 of file qwindowsdirect2dwindow.cpp.
References QScopedPointer< T, Cleanup >::data().
Referenced by QWindowsDirect2DBackingStore::beginPaint(), QWindowsDirect2DBackingStore::paintDevice(), QWindowsDirect2DBackingStore::resize(), and QWindowsDirect2DBackingStore::toImage().
Definition at line 110 of file qwindowsdirect2dwindow.cpp.
References QWindowsDirect2DBitmap::bitmap(), QRegion::boundingRect(), QWindowsWindow::handle(), QRect::height(), info, QRect::left(), QWindowsWindow::opacity(), Q_ASSERT, qErrnoWarning(), SIZE, QRect::width(), QPlatformWindow::window(), QRect::x(), and QRect::y().
Referenced by QWindowsDirect2DBackingStore::flush().
Definition at line 172 of file qwindowsdirect2dwindow.cpp.
References qWarning, and QScopedPointer< T, Cleanup >::reset().
Referenced by flush(), and QWindowsDirect2DBackingStore::resize().
void QWindowsDirect2DWindow::setupSwapChain | ( | ) |
Definition at line 148 of file qwindowsdirect2dwindow.cpp.
References desc, QWindowsDirect2DContext::dxgiFactory(), QWindowsWindow::handle(), QWindowsDirect2DContext::instance(), and qWarning.
Referenced by QWindowsDirect2DWindow(), and setWindowFlags().
|
overridevirtual |
Requests setting the window flags of this surface to flags.
Reimplemented from QPlatformWindow.
Definition at line 40 of file qwindowsdirect2dwindow.cpp.
References QWindow::format(), Qt::FramelessWindowHint, QSurfaceFormat::hasAlpha(), setupSwapChain(), QWindowsWindow::setWindowFlags(), and QPlatformWindow::window().