Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QWindowsDirect2DWindow Class Reference

#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.
 
QPixmappixmap ()
 
void flush (QWindowsDirect2DBitmap *bitmap, const QRegion &region, const QPoint &offset)
 
void present (const QRegion &region)
 
void setupSwapChain ()
 
void resizeSwapChain (const QSize &size)
 
QSharedPointer< QWindowsDirect2DBitmapcopyBackBuffer () 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 ()
 
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 &region) 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)
 
QWindowsMenuBarmenuBar () 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.
 
voidsurface (void *nativeConfig, int *err)
 
void invalidateSurface () override
 Invalidates the window's surface by releasing its surface buffers.
 
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
 
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 QWindowsBaseWindow
 QWindowsBaseWindow (QWindow *window)
 
WId winId () const override
 Reimplement in subclasses to return a handle to the native window.
 
void setHasBorderInFullScreen (bool border) override
 
bool hasBorderInFullScreen () const override
 
QMargins customMargins () const override
 
void setCustomMargins (const QMargins &margins) override
 
unsigned style () const
 
unsigned exStyle () const
 
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.
 
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 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 setWindowFilePath (const QString &title)
 Reimplement to set the window file path to filePath.
 
virtual bool close ()
 Reimplement to let the platform handle non-spontaneous window close.
 
virtual bool isForeignWindow () const
 
QPointF mapToGlobalF (const QPointF &pos) const
 
QPointF mapFromGlobalF (const QPointF &pos) const
 
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 setWindowModified (bool modified)
 Reimplement to be able to let Qt indicate that the window has been modified.
 
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 ()
 
QSurfacesurface () const
 

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 bool handleGeometryChangingMessage (MSG *message, const QWindow *qWindow, const QMargins &marginsDp)
 
static bool setDarkBorderToWindow (HWND hwnd, bool d)
 
static void displayChanged ()
 
static void settingsChanged ()
 
static QScreenforcedScreenForGLWindow (const QWindow *w)
 
static QWindowsWindowwindowsWindowOf (const QWindow *w)
 
static QWindowtopLevelOf (QWindow *w)
 
static voiduserDataOf (HWND hwnd)
 
static void setUserDataOf (HWND hwnd, void *ud)
 
static bool hasNoNativeFrame (HWND hwnd, Qt::WindowFlags flags)
 
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 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().
 
- 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< 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.
 
- 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

Definition at line 17 of file qwindowsdirect2dwindow.h.

Constructor & Destructor Documentation

◆ QWindowsDirect2DWindow()

QT_BEGIN_NAMESPACE QWindowsDirect2DWindow::QWindowsDirect2DWindow ( QWindow * window,
const QWindowsWindowData & data )

Definition at line 19 of file qwindowsdirect2dwindow.cpp.

References Qt::Desktop, QWindowsDirect2DContext::instance(), qWarning, setupSwapChain(), and QPlatformWindow::window().

+ Here is the call graph for this function:

◆ ~QWindowsDirect2DWindow()

QWindowsDirect2DWindow::~QWindowsDirect2DWindow ( )

Definition at line 36 of file qwindowsdirect2dwindow.cpp.

Member Function Documentation

◆ copyBackBuffer()

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:

◆ flush()

void QWindowsDirect2DWindow::flush ( QWindowsDirect2DBitmap * bitmap,
const QRegion & region,
const QPoint & offset )

◆ pixmap()

QPixmap * QWindowsDirect2DWindow::pixmap ( )

Definition at line 51 of file qwindowsdirect2dwindow.cpp.

References QScopedPointer< T, Cleanup >::data().

+ Here is the call graph for this function:

◆ present()

void QWindowsDirect2DWindow::present ( const QRegion & region)

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

+ Here is the call graph for this function:

◆ resizeSwapChain()

void QWindowsDirect2DWindow::resizeSwapChain ( const QSize & size)

Definition at line 172 of file qwindowsdirect2dwindow.cpp.

References qWarning, and QScopedPointer< T, Cleanup >::reset().

Referenced by flush().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setupSwapChain()

void QWindowsDirect2DWindow::setupSwapChain ( )

Definition at line 148 of file qwindowsdirect2dwindow.cpp.

References 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:

◆ setWindowFlags()

void QWindowsDirect2DWindow::setWindowFlags ( Qt::WindowFlags flags)
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:

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