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
QtWaylandClient::QWaylandEglWindow Class Reference

#include <qwaylandeglwindow_p.h>

Inheritance diagram for QtWaylandClient::QWaylandEglWindow:
Collaboration diagram for QtWaylandClient::QWaylandEglWindow:

Public Member Functions

 QWaylandEglWindow (QWindow *window, QWaylandDisplay *display)
 ~QWaylandEglWindow ()
WindowType windowType () const override
void ensureSize () override
void updateSurface (bool create)
QRect contentsRect () const
EGLSurface eglSurface () const
GLuint contentFBO () const
GLuint contentTexture () const
bool needToUpdateContentFBO () const
void bindContentFBO ()
void invalidateSurface () override
 Invalidates the window's surface by releasing its surface buffers.
QMutexeglSurfaceLock ()
Public Member Functions inherited from QtWaylandClient::QWaylandWindow
 QWaylandWindow (QWindow *window, QWaylandDisplay *display)
 ~QWaylandWindow () override
WId winId () const override
 Reimplement in subclasses to return a handle to the native 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 setParent (const QPlatformWindow *parent) override
 This function is called to enable native child window in QPA.
QString windowTitle () const override
 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.
void setWindowTitle (const QString &title) override
 Reimplement to set the window title to title.
QIcon windowIcon () const
void setWindowIcon (const QIcon &icon) override
 Reimplement to set the window icon to icon.
void setGeometry (const QRect &rect) override
 This function is called by Qt whenever a window is moved or resized using the QWindow API.
bool allowsIndependentThreadedRendering () const override
 Returns whether applications can render new frames from any thread without co-ordination with the main thread.
void resizeFromApplyConfigure (const QSize &sizeWithMargins, const QPoint &offset={0, 0})
void repositionFromApplyConfigure (const QPoint &position)
void setGeometryFromApplyConfigure (const QPoint &globalPosition, const QSize &sizeWithMargins)
void applyConfigureWhenPossible ()
void attach (QWaylandBuffer *buffer, int x, int y)
void attachOffset (QWaylandBuffer *buffer)
QPoint attachOffset () const
void damage (const QRect &rect)
void safeCommit (QWaylandBuffer *buffer, const QRegion &damage)
void commit (QWaylandBuffer *buffer, const QRegion &damage)
void commit ()
bool waitForFrameSync (int timeout)
QMargins frameMargins () const override
QMargins clientSideMargins () const
void setCustomMargins (const QMargins &margins) override
QSize surfaceSize () const
 Size, with decorations (including including eventual shadows) in wl_surface coordinates.
QMargins windowContentMargins () const
QRect windowContentGeometry () const
 Window geometry as defined by the xdg-shell spec (in wl_surface coordinates) topLeft is where the shadow stops and the decorations border start.
QPointF mapFromWlSurface (const QPointF &surfacePosition) const
 Converts from wl_surface coordinates to Qt window coordinates.
QWaylandSurfacewaylandSurface () const
::wl_surface * wlSurface () const
::wl_surface * surface () const override
QWaylandDisplaydisplay () const
QWaylandShellSurfaceshellSurface () const
std::any _surfaceRole () const override
QWaylandSubSurfacesubSurfaceWindow () const
QWaylandScreenwaylandScreen () const
void handleContentOrientationChange (Qt::ScreenOrientation orientation) override
 Handle changes to the orientation of the platform window's contents.
void updateBufferTransform ()
void setOrientationMask (Qt::ScreenOrientations mask)
ToplevelWindowTilingStates toplevelWindowTilingStates () const
void handleToplevelWindowTilingStatesChanged (ToplevelWindowTilingStates states)
Qt::WindowStates windowStates () const
void setWindowState (Qt::WindowStates states) 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 handleWindowStatesChanged (Qt::WindowStates states)
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 setMask (const QRegion &region) override
 Reimplement to be able to let Qt set the mask of a window.
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.
qreal scale () const
qreal devicePixelRatio () const override
 Reimplement this function in subclass to return the device pixel ratio for the window.
void requestActivateWindow () override
 Reimplement to let Qt be able to request activation/focus for a window.
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.
QWaylandAbstractDecorationdecoration () const
void handleMouse (QWaylandInputDevice *inputDevice, const QWaylandPointerEvent &e)
void handleSwipeGesture (QWaylandInputDevice *inputDevice, const QWaylandPointerGestureSwipeEvent &e)
void handlePinchGesture (QWaylandInputDevice *inputDevice, const QWaylandPointerGesturePinchEvent &e)
bool touchDragDecoration (QWaylandInputDevice *inputDevice, const QPointF &local, const QPointF &global, QEventPoint::State state, Qt::KeyboardModifiers mods)
bool handleTabletEventDecoration (QWaylandInputDevice *inputDevice, const QPointF &local, const QPointF &global, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers)
virtual bool createDecoration ()
QWaylandWindowtransientParent () const
bool setMouseGrabEnabled (bool grab) override
void sendProperty (const QString &name, const QVariant &value)
void setProperty (const QString &name, const QVariant &value)
QVariantMap properties () const
QVariant property (const QString &name)
QVariant property (const QString &name, const QVariant &defaultValue)
void setBackingStore (QWaylandShmBackingStore *backingStore)
QWaylandShmBackingStorebackingStore () const
void setShellIntegration (QWaylandShellIntegration *shellIntegration)
QWaylandShellIntegrationshellIntegration () const
bool setKeyboardGrabEnabled (bool) override
void propagateSizeHints () override
 Reimplement to propagate the size hints of the QWindow.
void addAttachOffset (const QPoint point)
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 timerEvent (QTimerEvent *event) override
void requestUpdate () override
 Requests an QEvent::UpdateRequest event.
void handleUpdate ()
void deliverUpdateRequest () override
 Delivers an QEvent::UpdateRequest event to the window.
void setXdgActivationToken (const QString &token)
void requestXdgActivationToken (uint serial) override
void beginFrame ()
void endFrame ()
void closeChildPopups ()
void updateExposure ()
virtual void reinit ()
void reset ()
void initializeWlSurface ()
bool windowEvent (QEvent *event) override
 Reimplement this method to be able to do any platform specific event handling.
QSurfaceFormat format () const override
 Returns the actual surface format of the window.
void setSessionRestoreId (const QString &role) override
QString sessionRestoreId () const
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 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 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 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 bool setWindowModified (bool modified)
 Reimplement to be able to let Qt indicate that the window has been modified.
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.
bool hasPendingUpdateRequest () const
 Returns true if the window has a pending update request.
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 QtWaylandClient::QWaylandWindow
enum  WindowType { Shm , Egl , Vulkan }
enum  ToplevelWindowTilingState {
  WindowNoState = 0 , WindowTiledLeft = 1 , WindowTiledRight = 2 , WindowTiledTop = 4 ,
  WindowTiledBottom = 8
}
Public Slots inherited from QtWaylandClient::QWaylandWindow
void applyConfigure ()
Signals inherited from QtWaylandClient::QWaylandWindow
void wlSurfaceCreated ()
void wlSurfaceDestroyed ()
Static Public Member Functions inherited from QtWaylandClient::QWaylandWindow
static QWaylandWindowfromWlSurface (::wl_surface *surface)
static QWaylandWindowmouseGrab ()
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 QtWaylandClient::QWaylandWindow
static bool fixedToplevelPositions = true
Protected Types inherited from QtWaylandClient::QWaylandWindow
enum  GestureState { GestureNotActive , GestureActiveInContentArea , GestureActiveInDecoration }
Protected Member Functions inherited from QtWaylandClient::QWaylandWindow
virtual void doHandleFrameCallback ()
virtual QRect defaultGeometry () const
void setFormat (const QSurfaceFormat &format)
void sendExposeEvent (const QRect &rect)
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 QtWaylandClient::QWaylandWindow
QWaylandDisplaymDisplay = nullptr
QReadWriteLock mSurfaceLock
QScopedPointer< QWaylandSurfacemSurface
QScopedPointer< QWaylandFractionalScalemFractionalScale
QScopedPointer< QWaylandViewportmViewport
QWaylandShellIntegrationmShellIntegration = nullptr
QWaylandShellSurfacemShellSurface = nullptr
QWaylandSubSurfacemSubSurfaceWindow = nullptr
QList< QWaylandSubSurface * > mChildren
std::unique_ptr< QWaylandAbstractDecorationmWindowDecoration
bool mWindowDecorationEnabled = false
bool mMouseEventsInContentArea = false
Qt::MouseButtons mMousePressedInContentArea = Qt::NoButton
GestureState mGestureState = GestureNotActive
std::atomic_bool mFrameCallbackTimedOut = false
int mFrameCallbackCheckIntervalTimerId = -1
QAtomicInt mWaitingForUpdateDelivery = false
bool mWaitingForFrameCallback = false
QElapsedTimer mFrameCallbackElapsedTimer
struct::wl_callback * mFrameCallback = nullptr
QMutex mFrameSyncMutex
QWaitCondition mFrameSyncWait
bool mExposed = false
std::atomic_bool mExposeEventNeedsAttachedBuffer = false
std::atomic_bool mWaitingToApplyConfigure = false
std::atomic_bool mInFrameRender = false
int mFrameCallbackTimeout = 100
QVariantMap m_properties
bool mSentInitialResize = false
QPoint mOffset
std::optional< qrealmScale = std::nullopt
QString mWindowTitle
QIcon mWindowIcon
Qt::WindowFlags mFlags
QRegion mMask
QRegion mInputRegion
bool mTransparentInputRegion = false
QRegion mOpaqueArea
Qt::WindowStates mLastReportedWindowStates = Qt::WindowNoState
ToplevelWindowTilingStates mLastReportedToplevelWindowTilingStates = WindowNoState
QWaylandShmBackingStoremBackingStore = nullptr
QMargins mCustomMargins
QString mSessionRestoreId
QPointer< QWaylandWindowmTransientParent
QList< QPointer< QWaylandWindow > > mChildPopups
Qt::ScreenOrientation mLastReportedContentOrientation = Qt::PrimaryOrientation
std::unique_ptr< ColorManagementSurfacemColorManagementSurface
QSurfaceFormat mSurfaceFormat
Protected Attributes inherited from QPlatformWindow
QScopedPointer< QPlatformWindowPrivated_ptr

Detailed Description

Definition at line 30 of file qwaylandeglwindow_p.h.

Constructor & Destructor Documentation

◆ QWaylandEglWindow()

QtWaylandClient::QWaylandEglWindow::QWaylandEglWindow ( QWindow * window,
QWaylandDisplay * display )

Definition at line 22 of file qwaylandeglwindow.cpp.

◆ ~QWaylandEglWindow()

QtWaylandClient::QWaylandEglWindow::~QWaylandEglWindow ( )

Definition at line 33 of file qwaylandeglwindow.cpp.

Member Function Documentation

◆ bindContentFBO()

void QtWaylandClient::QWaylandEglWindow::bindContentFBO ( )

Definition at line 189 of file qwaylandeglwindow.cpp.

◆ contentFBO()

GLuint QtWaylandClient::QWaylandEglWindow::contentFBO ( ) const

Definition at line 167 of file qwaylandeglwindow.cpp.

◆ contentsRect()

QRect QtWaylandClient::QWaylandEglWindow::contentsRect ( ) const

Definition at line 134 of file qwaylandeglwindow.cpp.

◆ contentTexture()

GLuint QtWaylandClient::QWaylandEglWindow::contentTexture ( ) const

Definition at line 184 of file qwaylandeglwindow.cpp.

◆ eglSurface()

EGLSurface QtWaylandClient::QWaylandEglWindow::eglSurface ( ) const

Definition at line 157 of file qwaylandeglwindow.cpp.

◆ eglSurfaceLock()

QMutex * QtWaylandClient::QWaylandEglWindow::eglSurfaceLock ( )

Definition at line 162 of file qwaylandeglwindow.cpp.

◆ ensureSize()

void QtWaylandClient::QWaylandEglWindow::ensureSize ( )
overridevirtual

Reimplemented from QtWaylandClient::QWaylandWindow.

Definition at line 51 of file qwaylandeglwindow.cpp.

◆ invalidateSurface()

void QtWaylandClient::QWaylandEglWindow::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 141 of file qwaylandeglwindow.cpp.

◆ needToUpdateContentFBO()

bool QtWaylandClient::QWaylandEglWindow::needToUpdateContentFBO ( ) const
inline

Definition at line 45 of file qwaylandeglwindow_p.h.

◆ updateSurface()

void QtWaylandClient::QWaylandEglWindow::updateSurface ( bool create)

Definition at line 66 of file qwaylandeglwindow.cpp.

◆ windowType()

QWaylandWindow::WindowType QtWaylandClient::QWaylandEglWindow::windowType ( ) const
overridevirtual

Implements QtWaylandClient::QWaylandWindow.

Definition at line 46 of file qwaylandeglwindow.cpp.


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