![]() |
Qt 6.x
The Qt SDK
|
#include <qwindowsdirect2dwindow.h>
Inheritance diagram for QWindowsDirect2DWindow:
Collaboration diagram for QWindowsDirect2DWindow: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 |
Public Member Functions inherited from QWindowsWindow | |
| 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. | |
Public Member Functions inherited from QWindowsBaseWindow | |
| 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. | |
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. | |
| 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 |
Public Member Functions inherited from QPlatformSurface | |
| virtual | ~QPlatformSurface () |
| virtual QSurfaceFormat | format () const =0 |
| QSurface * | surface () const |
| virtual QPlatformScreen * | screen () const =0 |
Additional Inherited Members | |
Public Types inherited from QWindowsWindow | |
| 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 } |
Public Types inherited from QWindowsBaseWindow | |
| using | TouchWindowTouchType = QNativeInterface::Private::QWindowsApplication::TouchWindowTouchType |
| using | TouchWindowTouchTypes = QNativeInterface::Private::QWindowsApplication::TouchWindowTouchTypes |
Static Public Member Functions inherited from QWindowsWindow | |
| 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 Public Member Functions inherited from QWindowsBaseWindow | |
| static bool | isRtlLayout (HWND hwnd) |
| static QWindowsBaseWindow * | baseWindowOf (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(). | |
Static Public Member Functions inherited from QPlatformSurface | |
| static bool | isRasterSurface (QSurface *surface) |
Static Public Attributes inherited from QWindowsWindow | |
| static const char * | embeddedNativeParentHandleProperty = "_q_embedded_native_parent_handle" |
| static const char * | hasBorderInFullScreenProperty = "_q_has_border_in_fullscreen" |
Protected Member Functions inherited from QWindowsBaseWindow | |
| 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) |
Protected Member Functions inherited from QPlatformWindow | |
| 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 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< 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().
Here is the call graph for this function:| 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.
Here is the call graph for this function:| 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().
Here is the call graph for this function:
Here is the caller graph for this function:| 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().
Here is the call graph for this function:
Here is the caller graph for this function: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().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 172 of file qwindowsdirect2dwindow.cpp.
References qWarning, and QScopedPointer< T, Cleanup >::reset().
Referenced by flush(), and QWindowsDirect2DBackingStore::resize().
Here is the call graph for this function:
Here is the caller graph for this function:| 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().
Here is the call graph for this function:
Here is the caller graph for this function:
|
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().
Here is the call graph for this function: