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
QOhosFloatingWindow Class Reference

#include <qohosfloatingwindow.h>

Inheritance diagram for QOhosFloatingWindow:
Collaboration diagram for QOhosFloatingWindow:

Public Member Functions

 QOhosFloatingWindow (QWindow *window)
 ~QOhosFloatingWindow () override
void initialize () override
 Called as part of QWindow::create(), after constructing 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.
void setVisible (bool visible) override
 Reimplemented in subclasses to show the surface if visible is true, and hide it if visible is false.
WId winId () const override
 Reimplement in subclasses to return a handle to the native window.
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.
QOhosSurfaceownedSurfaceOrNull () const override
QOhosViewownedViewOrNull () const override
void setMask (const QRegion &region) override
 Reimplement to be able to let Qt set the mask of a window.
bool startSystemMove () override
 Reimplement this method to start a system move operation if the system supports it and return true to indicate success.
void requestActivateWindow () override
 Reimplement to let Qt be able to request activation/focus for a window.
Public Member Functions inherited from QOhosPlatformWindow
 QOhosPlatformWindow (QWindow *window)
bool isWindowBeingClosedOrDestroyed (QWindow *window) const
void setVisible (bool visible) override
 Reimplemented in subclasses to show the surface if visible is true, and hide it if visible is false.
void setCursor (const QCursor &cursor)
void setWindowTitle (const QString &title) override
 Reimplement to set the window title to title.
void setParent (const QPlatformWindow *newParent) override
 This function is called to enable native child window in QPA.
ScreenChangeResult tryChangeScreen (QOhosPlatformScreen *screen)
QPlatformScreenscreen () const override
void setWindowState (Qt::WindowStates state) override
 Requests setting the window state of this surface to type.
void setWindowFlags (Qt::WindowFlags flags) override
 Requests setting the window flags of this surface to flags.
Qt::WindowFlags windowFlags () const
void propagateSizeHints () override
 Reimplement to propagate the size hints of the QWindow.
bool isRaster () const
bool isExposed () const final
 Returns if this window is exposed in the windowing system.
void setGeometry (const QRect &rect) override
 This function is called by Qt whenever a window is moved or resized using the QWindow API.
bool shouldDisplayAsOhosWindow () const
QtOhos::InternalWindowId internalWindowId () const
DecorationPreset decorationPreset () const
QMargins frameMargins () const override
QWindowvalidSubWindowOfTagValueOrNull () const
bool mainWindowTagValueOrFalse () const
bool floatWindowTagValueOrFalse () const
void initialize () override
 Called as part of QWindow::create(), after constructing the window.
Qt::WindowStates windowStates () const
void requestActivateWindow () override
 Reimplement to let Qt be able to request activation/focus for a window.
void handleDpiChange ()
bool shouldShowWindowWithoutActivating () const
QPixmap makeSnapshot () const
bool setMouseGrabEnabled (bool grab) override
bool setKeyboardGrabEnabled (bool grab) override
QOhosOptional< QOhosDisplayInfo::JsDisplayIdtryTakeLastRequestedDisplayId ()
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 QSurfaceFormat format () const override
 Returns the actual surface format of the window.
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 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 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 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 setOpacity (qreal level)
 Reimplement to be able to let Qt set the opacity level of 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 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 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

Private Member Functions

void onWindowFlagsChanged (Qt::WindowFlags previousWindowFlags, Qt::WindowFlags currentWindowFlags) override
void onWindowStateChanged (Qt::WindowStates oldWindowState, Qt::WindowStates currentWindowState) override

Additional Inherited Members

Public Types inherited from QOhosPlatformWindow
enum class  DecorationPreset { Standard , Frameless }
enum class  ScreenChangeResult { Changed , NotChanged }
enum class  NativeNodeRenderFitPolicy { TopLeft , Fill }
Static Public Member Functions inherited from QOhosPlatformWindow
static QOhosPlatformWindowfromQWindow (QWindow *window)
static QOhosPlatformWindowfromQWindowOrNull (QWindow *window)
static void tagWindowOrWidgetAsSubWindowOf (QObject *windowOrWidgetToTag, QWindow *targetMainWindow)
static void tagWindowOrWidgetAsMainWindow (QObject *windowOrWidgetToTag, bool forceMainWindow)
static void tagWindowOrWidgetAsFloatWindow (QObject *windowOrWidgetToTag, bool showAsFloatWindow)
static void setWindowPrivacyMode (QObject *window, bool privacyModeEnabled)
static void setWindowCornerRadius (QObject *windowOrWidget, double radius)
static QWindowgetWindowOrWidgetAsSubWindowOfTagValue (QObject *windowOrWidget)
static void setWindowOrWidgetNativeNodeRenderFitPolicyHint (QObject *windowOrWidget, NativeNodeRenderFitPolicy renderFitPolicy)
static Qt::WindowFlags platformWindowFlagsForQWindow (QWindow *window)
static void setSurfaceBackgroundColor (QObject *windowOrWidget, const QColor &color)
static void setWindowKeepScreenOn (QObject *windowOrWidget, bool keepScreenOn)
static void setBrightness (QObject *windowOrWidget, int brightness)
static void setContrast (QObject *windowOrWidget, int contrast)
static void setSaturation (QObject *windowOrWidget, int saturation)
static void closeAllActivePopups ()
template<typename T, const QOhosPropertyDescriptor< T > * propertyPtr>
static void setWindowOrWidgetProperty (QObject *windowOrWidget, T propertyValue)
template<typename T, const QOhosPropertyDescriptor< T > * propertyPtr>
static QOhosOptional< T > tryGetWindowOrWidgetProperty (QObject *windowOrWidget)
static std::shared_ptr< voidsetSurfaceConsumer (QWindow *targetWindow, QObject *surfaceConsumerContext, std::function< void(QOhosOptional< void * >)> surfaceConsumer)
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 Attributes inherited from QOhosPlatformWindow
static const QOhosPropertyDescriptor< QWindow * > subWindowOfTagProperty
static const QOhosPropertyDescriptor< bool > mainWindowTagProperty
static const QOhosPropertyDescriptor< bool > floatWindowTagProperty
static const QOhosPropertyDescriptor< double > windowCornerRadiusProperty
static const QOhosPropertyDescriptor< bool > windowPrivacyModeSettingProperty
static const QOhosPropertyDescriptor< QColorsurfaceBackgroundColorProperty
static const QOhosPropertyDescriptor< NativeNodeRenderFitPolicynativeNodeRenderFitPolicyHintProperty
static const QOhosPropertyDescriptor< bool > windowKeepScreenOnProperty
static const QOhosPropertyDescriptor< bool > windowFixedSizeStateProperty
static const QOhosPropertyDescriptor< int > windowBrightnessProperty
static const QOhosPropertyDescriptor< int > windowContrastProperty
static const QOhosPropertyDescriptor< int > windowSaturationProperty
Protected Member Functions inherited from QOhosPlatformWindow
QOhosPlatformScreenplatformScreen () const
bool canBeShownOnScreen () const
void setWindowStateFromOhos (Qt::WindowStates state)
void setWindowMarginsFromOhos (const QMargins &margins)
void clearExposed ()
void setExposedRegionFromGeometry ()
void setDisplayIdFromOhos (QOhosOptional< QOhosDisplayInfo::JsDisplayId > displayId)
void setWindowGeometryFromOhos (const QRect &nativeWindowDrawGeometry)
void notifyWindowDestroyedFromOhos ()
bool checkWindowAcceptsFocus () const
bool checkWindowAcceptsInput () const
void notifyInputSystemsWindowActiveStatusChanged (bool active)
QOhosPropertiesProvider propertiesProvider ()
bool windowEvent (QEvent *event) override
 Reimplement this method to be able to do any platform specific event handling.
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 QOhosPlatformWindow
Qt::WindowFlags m_windowFlags
Qt::WindowStates m_windowState
QRegion m_lastExposedRegion
QtOhos::InternalWindowId m_windowId = QtOhos::InternalWindowId::invalidWindowId()
QRect m_oldGeometry
std::unique_ptr< QMarginsm_optFrameMargins
QOhosOptional< QCursorm_cursor
Protected Attributes inherited from QPlatformWindow
QScopedPointer< QPlatformWindowPrivated_ptr

Detailed Description

Definition at line 18 of file qohosfloatingwindow.h.

Constructor & Destructor Documentation

◆ QOhosFloatingWindow()

QOhosFloatingWindow::QOhosFloatingWindow ( QWindow * window)
explicit

Definition at line 36 of file qohosfloatingwindow.cpp.

◆ ~QOhosFloatingWindow()

QOhosFloatingWindow::~QOhosFloatingWindow ( )
overridedefault

Member Function Documentation

◆ initialize()

void QOhosFloatingWindow::initialize ( )
overridevirtual

Called as part of QWindow::create(), after constructing the window.

Platforms should prefer to do initialization here instead of in the constructor, as the platform window object will be fully constructed, and associated to the corresponding QWindow, allowing synchronous event delivery.

Reimplemented from QPlatformWindow.

Definition at line 121 of file qohosfloatingwindow.cpp.

References QOhosPlatformWindow::initialize().

Here is the call graph for this function:

◆ lower()

void QOhosFloatingWindow::lower ( )
overridevirtual

Reimplement to be able to let Qt lower windows to the bottom of the desktop.

Reimplemented from QPlatformWindow.

Definition at line 101 of file qohosfloatingwindow.cpp.

References QOhosView::lower(), and ownedViewOrNull().

Here is the call graph for this function:

◆ onWindowFlagsChanged()

void QOhosFloatingWindow::onWindowFlagsChanged ( Qt::WindowFlags previousWindowFlags,
Qt::WindowFlags currentWindowFlags )
overrideprivatevirtual

Reimplemented from QOhosPlatformWindow.

Definition at line 280 of file qohosfloatingwindow.cpp.

References ownedViewOrNull().

Here is the call graph for this function:

◆ onWindowStateChanged()

void QOhosFloatingWindow::onWindowStateChanged ( Qt::WindowStates oldWindowState,
Qt::WindowStates currentWindowState )
overrideprivatevirtual

Reimplemented from QOhosPlatformWindow.

Definition at line 290 of file qohosfloatingwindow.cpp.

References ownedViewOrNull().

Here is the call graph for this function:

◆ ownedSurfaceOrNull()

QOhosSurface * QOhosFloatingWindow::ownedSurfaceOrNull ( ) const
overridevirtual

Reimplemented from QOhosPlatformWindow.

Definition at line 110 of file qohosfloatingwindow.cpp.

References ownedViewOrNull(), and QOhosView::surfaceOrNull().

Here is the call graph for this function:

◆ ownedViewOrNull()

QOhosView * QOhosFloatingWindow::ownedViewOrNull ( ) const
overridevirtual

Reimplemented from QOhosPlatformWindow.

Definition at line 116 of file qohosfloatingwindow.cpp.

Referenced by lower(), onWindowFlagsChanged(), onWindowStateChanged(), ownedSurfaceOrNull(), raise(), setGeometry(), setMask(), and startSystemMove().

Here is the caller graph for this function:

◆ raise()

void QOhosFloatingWindow::raise ( )
overridevirtual

Reimplement to be able to let Qt raise windows to the top of the desktop.

Reimplemented from QPlatformWindow.

Definition at line 92 of file qohosfloatingwindow.cpp.

References ownedViewOrNull(), and QOhosView::raise().

Here is the call graph for this function:

◆ requestActivateWindow()

void QOhosFloatingWindow::requestActivateWindow ( )
overridevirtual

Reimplement to let Qt be able to request activation/focus for a window.

Some window systems will probably not have callbacks for this functionality, and then calling QWindowSystemInterface::handleFocusWindowChanged(QWindow *w) would be sufficient.

If the window system has some event handling/callbacks then call QWindowSystemInterface::handleFocusWindowChanged(QWindow *w) when the window system gives the notification.

Default implementation calls QWindowSystem::handleFocusWindowChanged(QWindow *w)

Reimplemented from QPlatformWindow.

Definition at line 332 of file qohosfloatingwindow.cpp.

References QOhosPlatformWindow::requestActivateWindow().

Here is the call graph for this function:

◆ setGeometry()

void QOhosFloatingWindow::setGeometry ( const QRect & rect)
overridevirtual

This function is called by Qt whenever a window is moved or resized using the QWindow API.

Unless you also override QPlatformWindow::geometry(), you need to call the baseclass implementation of this function in any override of QPlatformWindow::setGeometry(), as QWindow::geometry() is expected to report back the set geometry until a confirmation (or rejection) of the new geometry comes back from the window manager and is reported via QWindowSystemInterface::handleGeometryChange().

Window move/resizes can also be triggered spontaneously by the window manager, or as a response to an earlier requested move/resize via the Qt APIs. There is no need to call this function from the window manager callback, instead call QWindowSystemInterface::handleGeometryChange().

The position(x, y) part of the rect might be inclusive or exclusive of the window frame as returned by frameMargins(). You can detect this in the plugin by checking qt_window_private(window())->positionPolicy.

Reimplemented from QPlatformWindow.

Definition at line 43 of file qohosfloatingwindow.cpp.

References ownedViewOrNull().

Here is the call graph for this function:

◆ setMask()

void QOhosFloatingWindow::setMask ( const QRegion & region)
overridevirtual

Reimplement to be able to let Qt set the mask of a window.

Reimplemented from QPlatformWindow.

Definition at line 313 of file qohosfloatingwindow.cpp.

References ownedViewOrNull(), and QOhosView::setWindowMask().

Here is the call graph for this function:

◆ setVisible()

void QOhosFloatingWindow::setVisible ( bool visible)
overridevirtual

Reimplemented in subclasses to show the surface if visible is true, and hide it if visible is false.

The default implementation sends a synchronous expose event.

Reimplemented from QPlatformWindow.

Definition at line 69 of file qohosfloatingwindow.cpp.

◆ startSystemMove()

bool QOhosFloatingWindow::startSystemMove ( )
overridevirtual

Reimplement this method to start a system move operation if the system supports it and return true to indicate success.

The default implementation is empty and does nothing.

Since
5.15

Reimplemented from QPlatformWindow.

Definition at line 324 of file qohosfloatingwindow.cpp.

References ownedViewOrNull(), and QOhosView::startMoving().

Here is the call graph for this function:

◆ winId()

WId QOhosFloatingWindow::winId ( ) const
overridevirtual

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

Reimplemented from QPlatformWindow.

Definition at line 80 of file qohosfloatingwindow.cpp.


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