QWaylandXdgSurface Class | Qt Wayland Compositor | Qt 6.10.3
Description: The QWaylandXdgSurface class provides desktop-style compositor-specific features to an xdg surface.

- Qt 6.10
- Qt Wayland Compositor
- C++ Classes
- QWaylandXdgSurface
- Qt Wayland Compositor | Commercial or GPLv3

# QWaylandXdgSurface Class

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

Header: | `#include <QWaylandXdgSurface>`
CMake: | `find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor)` `target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor)`
qmake: | `QT += waylandcompositor`
In QML: | XdgSurface
Inherits: | QWaylandShellSurfaceTemplate

- List of all members, including inherited members

## Properties

popup : QWaylandXdgPopup* const shell : QWaylandXdgShell* const surface : QWaylandSurface* const | toplevel : QWaylandXdgToplevel* const windowGeometry : const QRect

## Public Functions

| QWaylandXdgSurface()
| QWaylandXdgSurface(QWaylandXdgShell *xdgShell, QWaylandSurface *surface, const QWaylandResource &res)
void | initialize(QWaylandXdgShell *xdgShell, QWaylandSurface *surface, const QWaylandResource &resource)
QWaylandXdgPopup * | popup() const
QWaylandXdgShell * | shell() const
QWaylandSurface * | surface() const
QWaylandXdgToplevel * | toplevel() const
QRect | windowGeometry() const

## Signals

void | popupCreated()
void | shellChanged()
void | surfaceChanged()
void | toplevelCreated()
void | windowGeometryChanged()

## Static Public Members

QWaylandXdgSurface * | fromResource(wl_resource *resource)
const struct wl_interface * | interface()

## Detailed Description

This class is part of the QWaylandXdgShell 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`.

## Property Documentation

### `[read-only]` popup : QWaylandXdgPopup* const

This property holds the properties and methods that are specific to the popup QWaylandXdgSurface.

Access functions:

QWaylandXdgPopup * | popup() const

Notifier signal:

void | popupCreated()

See also QWaylandXdgSurface::toplevel and QWaylandXdgShell::popupCreated.

### `[read-only]` shell : QWaylandXdgShell* const

This property holds the shell associated with this QWaylandXdgSurface.

Access functions:

QWaylandXdgShell * | shell() const

Notifier signal:

void | shellChanged()

### `[read-only]` surface : QWaylandSurface* const

This property holds the surface associated with this QWaylandXdgSurface.

Access functions:

QWaylandSurface * | surface() const

Notifier signal:

void | surfaceChanged()

### `[read-only]` toplevel : QWaylandXdgToplevel* const

This property holds the properties and methods that are specific to the toplevel QWaylandXdgSurface.

Access functions:

QWaylandXdgToplevel * | toplevel() const

Notifier signal:

void | toplevelCreated()

See also QWaylandXdgSurface::popup and QWaylandXdgShell::toplevelCreated.

### `[read-only]` windowGeometry : const QRect

This property holds the window geometry of the QWaylandXdgSurface. 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

### `[explicit]` QWaylandXdgSurface::QWaylandXdgSurface()

Constructs a QWaylandXdgSurface.

### `[explicit]` QWaylandXdgSurface::QWaylandXdgSurface(QWaylandXdgShell *xdgShell, QWaylandSurface *surface, const QWaylandResource &res)

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

### `[static]` QWaylandXdgSurface *QWaylandXdgSurface::fromResource(wl_resource *resource)

Returns the QWaylandXdgSurface corresponding to the resource.

### `[invokable]` void QWaylandXdgSurface::initialize(QWaylandXdgShell *xdgShell, QWaylandSurface *surface, const QWaylandResource &resource)

Initializes the QWaylandXdgSurface, 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 *QWaylandXdgSurface::interface()

Returns the Wayland interface for the QWaylandXdgSurface.