- Qt 5.15
- Qt Wayland Compositor
- C++ Classes
- QWaylandXdgSurfaceV5
- Qt 5.15.18 Reference Documentation

# 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.

- List of all members, including inherited members

## Public Types

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

## Properties

- appId : const QString
- parentSurface : QWaylandXdgSurfaceV5* const
- shell : QWaylandXdgShellV5* const
- states : const QList<int>

- surface : QWaylandSurface* const
- title : const QString
- windowGeometry : const QRect

## 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, 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

Constant | Value | Description
--- | --- | ---
`QWaylandXdgSurfaceV5::NoneEdge` | `0` | No edge defined.
`QWaylandXdgSurfaceV5::TopEdge` | `1` | Top egde.
`QWaylandXdgSurfaceV5::BottomEdge` | `2` | Bottom edge.
`QWaylandXdgSurfaceV5::LeftEdge` | `4` | Left edge.
`QWaylandXdgSurfaceV5::TopLeftEdge` | `5` | Top-left edge.
`QWaylandXdgSurfaceV5::BottomLeftEdge` | `6` | Bottom-left edge.
`QWaylandXdgSurfaceV5::RightEdge` | `8` | Right edge.
`QWaylandXdgSurfaceV5::TopRightEdge` | `9` | Top-right edge.
`QWaylandXdgSurfaceV5::BottomRightEdge` | `10` | Bottom-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, 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.