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

#include <qeglfswindow_p.h>

+ Inheritance diagram for QEglFSWindow:
+ Collaboration diagram for QEglFSWindow:

Public Member Functions

 QEglFSWindow (QWindow *w)
 
 ~QEglFSWindow ()
 
void create ()
 
void destroy ()
 
void setGeometry (const QRect &) 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.
 
void setVisible (bool visible) override
 Reimplemented in subclasses to show the surface if visible is true, and hide it if visible is false.
 
void requestActivateWindow () override
 Reimplement to let Qt be able to request activation/focus for a 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.
 
void propagateSizeHints () override
 Reimplement to propagate the size hints of the QWindow.
 
void setMask (const QRegion &) override
 Reimplement to be able to let Qt set the mask of a window.
 
bool setKeyboardGrabEnabled (bool) override
 
bool setMouseGrabEnabled (bool) override
 
void setOpacity (qreal) override
 Reimplement to be able to let Qt set the opacity level of a window.
 
WId winId () const override
 Reimplement in subclasses to return a handle to the native window.
 
QSurfaceFormat format () const override
 Returns the actual surface format of the window.
 
EGLNativeWindowType eglWindow () const
 
EGLSurface surface () const
 
QEglFSScreenscreen () const override
 
bool hasNativeWindow () const
 
void invalidateSurface () override
 Invalidates the window's surface by releasing its surface buffers.
 
virtual void resetSurface ()
 
bool isRaster () const
 
QOpenGLCompositorBackingStorebackingStore () const override
 
void setBackingStore (QOpenGLCompositorBackingStore *backingStore) override
 
QWindowsourceWindow () const override
 
const QPlatformTextureListtextures () const override
 
void endCompositing () override
 
- 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 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 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 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 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 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 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 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
 
- Public Member Functions inherited from QOpenGLCompositorWindow
virtual ~QOpenGLCompositorWindow ()
 
virtual void beginCompositing ()
 

Protected Types

enum  Flag { Created = 0x01 , HasNativeWindow = 0x02 }
 

Protected Attributes

QOpenGLCompositorBackingStorem_backingStore
 
QOpenGLContextm_rasterCompositingContext
 
WId m_winId
 
EGLSurface m_surface
 
EGLNativeWindowType m_window
 
EGLConfig m_config
 
QSurfaceFormat m_format
 
Flags m_flags
 
- Protected Attributes inherited from QPlatformWindow
QScopedPointer< QPlatformWindowPrivated_ptr
 

Additional Inherited Members

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

Detailed Description

Definition at line 33 of file qeglfswindow_p.h.

Member Enumeration Documentation

◆ Flag

enum QEglFSWindow::Flag
protected
Enumerator
Created 
HasNativeWindow 

Definition at line 93 of file qeglfswindow_p.h.

Constructor & Destructor Documentation

◆ QEglFSWindow()

QT_BEGIN_NAMESPACE QEglFSWindow::QEglFSWindow ( QWindow * w)

Definition at line 27 of file qeglfswindow.cpp.

◆ ~QEglFSWindow()

QEglFSWindow::~QEglFSWindow ( )

Definition at line 39 of file qeglfswindow.cpp.

References destroy().

+ Here is the call graph for this function:

Member Function Documentation

◆ backingStore()

QOpenGLCompositorBackingStore * QEglFSWindow::backingStore ( ) const
inlineoverridevirtual

Implements QOpenGLCompositorWindow.

Definition at line 73 of file qeglfswindow_p.h.

References m_backingStore.

Referenced by setBackingStore(), and setOpacity().

+ Here is the caller graph for this function:

◆ create()

void QEglFSWindow::create ( )

◆ destroy()

void QEglFSWindow::destroy ( )

Definition at line 132 of file qeglfswindow.cpp.

References Created, cursor, QEglFSScreen::cursor(), QOpenGLCompositor::destroy(), HasNativeWindow, QOpenGLCompositor::instance(), invalidateSurface(), m_flags, m_rasterCompositingContext, m_surface, QEglFSScreen::primarySurface(), qt_gl_global_share_context(), qt_gl_set_global_share_context(), and screen().

Referenced by QEglFSKmsEglDeviceWindow::~QEglFSKmsEglDeviceWindow(), QEglFSKmsGbmWindow::~QEglFSKmsGbmWindow(), QEglFSKmsVsp2Window::~QEglFSKmsVsp2Window(), and ~QEglFSWindow().

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

◆ eglWindow()

EGLNativeWindowType QEglFSWindow::eglWindow ( ) const

Definition at line 307 of file qeglfswindow.cpp.

References m_window.

◆ endCompositing()

void QEglFSWindow::endCompositing ( )
overridevirtual

Reimplemented from QOpenGLCompositorWindow.

Definition at line 337 of file qeglfswindow.cpp.

References m_backingStore, and QOpenGLCompositorBackingStore::notifyComposited().

+ Here is the call graph for this function:

◆ format()

QSurfaceFormat QEglFSWindow::format ( ) const
overridevirtual

Returns the actual surface format of the window.

Reimplemented from QPlatformWindow.

Definition at line 302 of file qeglfswindow.cpp.

References m_format.

◆ geometry()

QRect QEglFSWindow::geometry ( ) const
overridevirtual

Returns the current geometry of a window.

Reimplemented from QPlatformWindow.

Definition at line 248 of file qeglfswindow.cpp.

References QPlatformScreen::availableGeometry(), Created, QPlatformWindow::geometry(), m_flags, and screen().

+ Here is the call graph for this function:

◆ hasNativeWindow()

bool QEglFSWindow::hasNativeWindow ( ) const
inline

Definition at line 65 of file qeglfswindow_p.h.

◆ invalidateSurface()

void QEglFSWindow::invalidateSurface ( )
overridevirtual

Invalidates the window's surface by releasing its surface buffers.

Many platforms do not support releasing the surface memory, and the default implementation does nothing.

The platform window is expected to recreate the surface again if it is needed. For instance, if an OpenGL context is made current on this window.

Reimplemented from QPlatformWindow.

Definition at line 164 of file qeglfswindow.cpp.

References QEglFSDeviceIntegration::destroyNativeWindow(), m_flags, m_surface, m_window, ok, Q_FUNC_INFO, qCDebug, qCWarning, qt_egl_device_integration(), and screen().

Referenced by destroy(), QEglFSKmsGbmWindow::invalidateSurface(), QEglFSKmsEglDeviceWindow::invalidateSurface(), and QEglFSKmsVsp2Window::invalidateSurface().

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

◆ isRaster()

bool QEglFSWindow::isRaster ( ) const

Definition at line 317 of file qeglfswindow.cpp.

References QSurface::RasterGLSurface, QSurface::RasterSurface, QWindow::surfaceType(), and QPlatformWindow::window().

Referenced by create(), and setOpacity().

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

◆ lower()

void QEglFSWindow::lower ( )
overridevirtual

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

Reimplemented from QPlatformWindow.

Definition at line 281 of file qeglfswindow.cpp.

References compositor, Qt::Desktop, QWindowSystemInterface::handleExposeEvent(), QOpenGLCompositor::instance(), and QPlatformWindow::window().

+ Here is the call graph for this function:

◆ propagateSizeHints()

void QEglFSWindow::propagateSizeHints ( )
inlineoverridevirtual

Reimplement to propagate the size hints of the QWindow.

The size hints include QWindow::minimumSize(), QWindow::maximumSize(), QWindow::sizeIncrement(), and QWindow::baseSize().

Reimplemented from QPlatformWindow.

Definition at line 52 of file qeglfswindow_p.h.

◆ raise()

void QEglFSWindow::raise ( )
overridevirtual

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

Reimplemented from QPlatformWindow.

Definition at line 270 of file qeglfswindow.cpp.

References Qt::Desktop, QWindowSystemInterface::handleExposeEvent(), QOpenGLCompositor::instance(), and QPlatformWindow::window().

+ Here is the call graph for this function:

◆ requestActivateWindow()

void QEglFSWindow::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 259 of file qeglfswindow.cpp.

References Qt::ActiveWindowFocusReason, Qt::Desktop, QWindowSystemInterface::handleExposeEvent(), QWindowSystemInterface::handleFocusWindowChanged(), QOpenGLCompositor::instance(), and QPlatformWindow::window().

+ Here is the call graph for this function:

◆ resetSurface()

void QEglFSWindow::resetSurface ( )
virtual

Reimplemented in QEglFSKmsGbmWindow, QEglFSKmsEglDeviceWindow, and QEglFSKmsVsp2Window.

Definition at line 195 of file qeglfswindow.cpp.

References QEglFSDeviceIntegration::chooseConfig(), QEglFSDeviceIntegration::createNativeWindow(), QEglFSScreen::display(), EGLDisplay(), m_config, m_format, m_surface, m_window, q_glFormatFromConfig(), qt_egl_device_integration(), QEglFSScreen::rawGeometry(), screen(), QEglFSDeviceIntegration::surfaceFormatFor(), and QPlatformWindow::window().

Referenced by create().

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

◆ screen()

QEglFSScreen * QEglFSWindow::screen ( ) const
overridevirtual

Implements QPlatformSurface.

Definition at line 312 of file qeglfswindow.cpp.

References QPlatformWindow::screen().

Referenced by create(), QEglFSKmsEglDeviceIntegration::createWindow(), destroy(), geometry(), invalidateSurface(), QEglFSKmsGbmWindow::invalidateSurface(), QEglFSKmsEglDeviceWindow::invalidateSurface(), QEglFSKmsVsp2Window::invalidateSurface(), resetSurface(), QEglFSKmsGbmWindow::resetSurface(), QEglFSKmsEglDeviceWindow::resetSurface(), QEglFSKmsVsp2Window::resetSurface(), setBackingStore(), setGeometry(), and surface().

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

◆ setBackingStore()

void QEglFSWindow::setBackingStore ( QOpenGLCompositorBackingStore * backingStore)
overridevirtual

◆ setGeometry()

void QEglFSWindow::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 233 of file qeglfswindow.cpp.

References QPlatformScreen::availableGeometry(), QWindowSystemInterface::handleExposeEvent(), QWindowSystemInterface::handleGeometryChange(), HasNativeWindow, m_flags, qt_window_private(), rect, screen(), QPlatformWindow::setGeometry(), and QPlatformWindow::window().

Referenced by create().

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

◆ setKeyboardGrabEnabled()

bool QEglFSWindow::setKeyboardGrabEnabled ( bool )
inlineoverridevirtual

Reimplemented from QPlatformWindow.

Definition at line 54 of file qeglfswindow_p.h.

◆ setMask()

void QEglFSWindow::setMask ( const QRegion & region)
inlineoverridevirtual

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

Reimplemented from QPlatformWindow.

Definition at line 53 of file qeglfswindow_p.h.

◆ setMouseGrabEnabled()

bool QEglFSWindow::setMouseGrabEnabled ( bool )
inlineoverridevirtual

Reimplemented from QPlatformWindow.

Definition at line 55 of file qeglfswindow_p.h.

◆ setOpacity()

void QEglFSWindow::setOpacity ( qreal level)
overridevirtual

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

Reimplemented from QPlatformWindow.

Definition at line 349 of file qeglfswindow.cpp.

References backingStore(), isRaster(), and qWarning.

+ Here is the call graph for this function:

◆ setVisible()

void QEglFSWindow::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 207 of file qeglfswindow.cpp.

References compositor, Qt::Desktop, QEventLoop::ExcludeUserInputEvents, QWindowSystemInterface::flushWindowSystemEvents(), QWindowSystemInterface::handleExposeEvent(), QOpenGLCompositor::instance(), and QPlatformWindow::window().

+ Here is the call graph for this function:

◆ sourceWindow()

QWindow * QEglFSWindow::sourceWindow ( ) const
overridevirtual

Implements QOpenGLCompositorWindow.

Definition at line 324 of file qeglfswindow.cpp.

References QPlatformWindow::window().

+ Here is the call graph for this function:

◆ surface()

EGLSurface QEglFSWindow::surface ( ) const

Definition at line 297 of file qeglfswindow.cpp.

References m_surface, QEglFSScreen::primarySurface(), and screen().

+ Here is the call graph for this function:

◆ textures()

const QPlatformTextureList * QEglFSWindow::textures ( ) const
overridevirtual

Implements QOpenGLCompositorWindow.

Definition at line 329 of file qeglfswindow.cpp.

References m_backingStore, and QOpenGLCompositorBackingStore::textures().

+ Here is the call graph for this function:

◆ winId()

WId QEglFSWindow::winId ( ) const
overridevirtual

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

Reimplemented from QPlatformWindow.

Definition at line 344 of file qeglfswindow.cpp.

References m_winId.

Member Data Documentation

◆ m_backingStore

QOpenGLCompositorBackingStore* QEglFSWindow::m_backingStore
protected

Definition at line 82 of file qeglfswindow_p.h.

Referenced by backingStore(), endCompositing(), setBackingStore(), and textures().

◆ m_config

EGLConfig QEglFSWindow::m_config
protected

◆ m_flags

Flags QEglFSWindow::m_flags
protected

Definition at line 98 of file qeglfswindow_p.h.

Referenced by create(), destroy(), geometry(), invalidateSurface(), and setGeometry().

◆ m_format

◆ m_rasterCompositingContext

QOpenGLContext* QEglFSWindow::m_rasterCompositingContext
protected

Definition at line 83 of file qeglfswindow_p.h.

Referenced by destroy(), and setBackingStore().

◆ m_surface

◆ m_window

EGLNativeWindowType QEglFSWindow::m_window
protected

◆ m_winId

WId QEglFSWindow::m_winId
protected

Definition at line 85 of file qeglfswindow_p.h.

Referenced by create(), and winId().


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