QWaylandXdgSurfaceV5 Class

The QWaylandXdgSurfaceV5 class provides desktop-style compositor-specific features to an xdg surface. More...

Header: #include <QWaylandXdgSurfaceV5>
qmake: QT += waylandcompositor
Since: Qt 5.8
Inherits: QWaylandShellSurfaceTemplate

This class is obsolete. It is provided to keep old source code working. We strongly advise against using it in new code.

This class was introduced in Qt 5.8.

Public Types

enum ResizeEdge { NoneEdge, TopEdge, BottomEdge, LeftEdge, TopLeftEdge, …, BottomRightEdge }

Properties

Public Functions

QWaylandXdgSurfaceV5(QWaylandXdgShellV5 *xdgShell, QWaylandSurface *surface, const QWaylandResource &res)
QWaylandXdgSurfaceV5()
bool activated() const
QString appId() const
bool fullscreen() const
void initialize(QWaylandXdgShellV5 *xdgShell, QWaylandSurface *surface, const QWaylandResource &resource)
bool maximized() const
QWaylandXdgSurfaceV5 *parentSurface() const
bool resizing() const
void sendClose()
uint sendConfigure(const QSize &size, const QVector<uint> &states)
QWaylandXdgShellV5 *shell() const
QWaylandSurface *surface() const
QString title() const
QRect windowGeometry() const

Signals

void ackConfigure(uint serial)
void activatedChanged()
void appIdChanged()
void fullscreenChanged()
void maximizedChanged()
void parentSurfaceChanged()
void resizingChanged()
void setFullscreen(QWaylandOutput *output)
void setMaximized()
void setMinimized()
void setTopLevel()
void setTransient()
void shellChanged()
void showWindowMenu(QWaylandSeat *seat, const QPoint &localSurfacePosition)
void startMove(QWaylandSeat *seat)
void startResize(QWaylandSeat *seat, QWaylandXdgSurfaceV5::ResizeEdge edges)
void statesChanged()
void surfaceChanged()
void titleChanged()
void unsetFullscreen()
void unsetMaximized()
void windowGeometryChanged()

Static Public Members

QWaylandXdgSurfaceV5 *fromResource(::wl_resource *resource)
const struct wl_interface *interface()
QWaylandSurfaceRole *role()

Detailed Description

This class is part of the QWaylandXdgShellV5 extension and provides a way to extend the functionality of an existing QWaylandSurface with features specific to desktop-style compositors, such as resizing and moving the surface.

It corresponds to the Wayland interface xdg_surface.

Member Type Documentation

enum QWaylandXdgSurfaceV5::ResizeEdge

ConstantValueDescription
QWaylandXdgSurfaceV5::NoneEdge0No edge defined.
QWaylandXdgSurfaceV5::TopEdge1Top egde.
QWaylandXdgSurfaceV5::BottomEdge2Bottom edge.
QWaylandXdgSurfaceV5::LeftEdge4Left edge.
QWaylandXdgSurfaceV5::TopLeftEdge5Top-left edge.
QWaylandXdgSurfaceV5::BottomLeftEdge6Bottom-left edge.
QWaylandXdgSurfaceV5::RightEdge8Right edge.
QWaylandXdgSurfaceV5::TopRightEdge9Top-right edge.
QWaylandXdgSurfaceV5::BottomRightEdge10Bottom-right edge.

Property Documentation

appId : const QString

This property holds the app id of the QWaylandXdgSurfaceV5.

Access functions:

QString appId() const

Notifier signal:

void appIdChanged()

parentSurface : QWaylandXdgSurfaceV5* const

This property holds the XdgSurfaceV5 parent of this XdgSurfaceV5. When a parent surface is set, the parentSurfaceChanged() signal is guaranteed to be emitted before setTopLevel() and setTransient().

Access functions:

QWaylandXdgSurfaceV5 *parentSurface() const

Notifier signal:

void parentSurfaceChanged()

See also QWaylandXdgSurfaceV5::setTopLevel() and QWaylandXdgSurfaceV5::setTransient().

shell : QWaylandXdgShellV5* const

This property holds the shell associated with this QWaylandXdgSurfaceV5.

Access functions:

QWaylandXdgShellV5 *shell() const

Notifier signal:

void shellChanged()

states : const QList<int>

This property holds the last states the client acknowledged for this QWaylandXdgSurfaceV5.

Notifier signal:

void statesChanged()

surface : QWaylandSurface* const

This property holds the surface associated with this QWaylandXdgSurfaceV5.

Access functions:

QWaylandSurface *surface() const

Notifier signal:

void surfaceChanged()

title : const QString

This property holds the title of the QWaylandXdgSurfaceV5.

Access functions:

QString title() const

Notifier signal:

void titleChanged()

windowGeometry : const QRect

This property holds the window geometry of the QWaylandXdgSurfaceV5. The window geometry describes the window's visible bounds from the user's perspective. The geometry includes title bars and borders if drawn by the client, but excludes drop shadows. It is meant to be used for aligning and tiling windows.

Access functions:

QRect windowGeometry() const

Notifier signal:

void windowGeometryChanged()

Member Function Documentation

QWaylandXdgSurfaceV5::QWaylandXdgSurfaceV5(QWaylandXdgShellV5 *xdgShell, QWaylandSurface *surface, const QWaylandResource &res)

Constructs a QWaylandXdgSurfaceV5 for surface and initializes it with the given xdgShell, surface, and resource res.

QWaylandXdgSurfaceV5::QWaylandXdgSurfaceV5()

Constructs a QWaylandXdgSurfaceV5.

[signal] void QWaylandXdgSurfaceV5::ackConfigure(uint serial)

This signal is emitted when the client has received configure events up to and including the configure event with serial serial and will draw its surface accordingly in the next committed buffer.

[signal] void QWaylandXdgSurfaceV5::setFullscreen(QWaylandOutput *output)

This signal is emitted when the client wants the xdg_surface to be in full screen mode. The client may specify an output it wishes the xdg_surface to be shown on.

See also fullscreen().

[signal] void QWaylandXdgSurfaceV5::setMaximized()

This signal is emitted when the client wants the xdg_surface to be maximized.

See also maximized().

[signal] void QWaylandXdgSurfaceV5::setMinimized()

This signal is emitted when the client wants the xdg_surface to be minimized.

[signal] void QWaylandXdgSurfaceV5::setTopLevel()

This signal is emitted when the parent surface is unset, effectively making the window top level.

[signal] void QWaylandXdgSurfaceV5::setTransient()

This signal is emitted when the parent surface is set, effectively making the window transient.

[signal] void QWaylandXdgSurfaceV5::showWindowMenu(QWaylandSeat *seat, const QPoint &localSurfacePosition)

This signal is emitted when the client wants to show a context menu at localSurfacePosition, using the Wayland seat seat. It's typically emitted in response to the user right-clicking the window decorations.

[signal] void QWaylandXdgSurfaceV5::startMove(QWaylandSeat *seat)

This signal is emitted when the client wants to start an interactive move of the QWaylandXdgSurfaceV5, typically in response to the window decorations being dragged by seat.

[signal] void QWaylandXdgSurfaceV5::startResize(QWaylandSeat *seat, QWaylandXdgSurfaceV5::ResizeEdge edges)

This signal is emitted when the client wants to start an interactive resize of the QWaylandXdgSurfaceV5, typically in response to the window decorations being dragged by seat on the window borders given by edges.

[signal] void QWaylandXdgSurfaceV5::unsetFullscreen()

This signal is emitted when the client doesn't want the xdg_surface to be in full screen mode anymore.

[signal] void QWaylandXdgSurfaceV5::unsetMaximized()

This signal is emitted when the client doesn't want the xdg_surface to be maximized anymore.

[static] QWaylandXdgSurfaceV5 *QWaylandXdgSurfaceV5::fromResource(::wl_resource *resource)

Returns the QWaylandXdgSurfaceV5 corresponding to the resource.

void QWaylandXdgSurfaceV5::initialize(QWaylandXdgShellV5 *xdgShell, QWaylandSurface *surface, const QWaylandResource &resource)

Initializes the QWaylandXdgSurfaceV5, associating it with the given xdgShell, surface and resource.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

[static] const struct wl_interface *QWaylandXdgSurfaceV5::interface()

Returns the Wayland interface for the QWaylandXdgSurfaceV5.

[static] QWaylandSurfaceRole *QWaylandXdgSurfaceV5::role()

Returns the surface role for the QWaylandXdgSurfaceV5.

void QWaylandXdgSurfaceV5::sendClose()

Sends a close event to the client.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

uint QWaylandXdgSurfaceV5::sendConfigure(const QSize &size, const QVector<uint> &states)

Sends a configure event to the client. Parameter size contains the pixel size of the surface. Known states are enumerated in QWaylandXdgSurfaceV5::State.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.