- Qt 6.9
- Qt Wayland Compositor
- C++ Classes
- QWaylandIviSurface
- Qt Wayland Compositor | Commercial or GPLv3

# QWaylandIviSurface Class

The QWaylandIviSurface class provides a simple way to identify and resize a surface. More...

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

- List of all members, including inherited members

## Properties

- iviId : const uint
- surface : QWaylandSurface* const

## Public Functions

| QWaylandIviSurface()
| QWaylandIviSurface(QWaylandIviApplication *application, QWaylandSurface *surface, uint iviId, const QWaylandResource &resource)
void | initialize(QWaylandIviApplication *iviApplication, QWaylandSurface *surface, uint iviId, const QWaylandResource &resource)
uint | iviId() const
void | sendConfigure(const QSize &size)
QWaylandSurface * | surface() const

## Signals

void | iviIdChanged()
void | surfaceChanged()

## Static Public Members

QWaylandIviSurface * | fromResource(wl_resource *resource)
const struct wl_interface * | interface()
QWaylandSurfaceRole * | role()

## Detailed Description

This class is part of the QWaylandIviApplication extension and provides a way to extend the functionality of an existing QWaylandSurface with a way to resize and identify it.

It corresponds to the Wayland `ivi_surface` interface.

## Property Documentation

### `[read-only]` iviId : const uint

This property holds the ivi id of this QWaylandIviSurface.

Access functions:

uint | iviId() const

Notifier signal:

void | iviIdChanged()

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

This property holds the surface associated with this QWaylandIviSurface.

Access functions:

QWaylandSurface * | surface() const

Notifier signal:

void | surfaceChanged()

## Member Function Documentation

### QWaylandIviSurface::QWaylandIviSurface()

Constructs a QWaylandIviSurface.

### QWaylandIviSurface::QWaylandIviSurface(QWaylandIviApplication *application, QWaylandSurface *surface, uint iviId, const QWaylandResource &resource)

Constructs a QWaylandIviSurface for surface and initializes it with the given application, surface, iviId, and resource.

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

Returns the QWaylandIviSurface corresponding to the resource.

### `[invokable]` void QWaylandIviSurface::initialize(QWaylandIviApplication *iviApplication, QWaylandSurface *surface, uint iviId, const QWaylandResource &resource)

Initializes the QWaylandIviSurface, associating it with the given iviApplication, surface, iviId, and resource.

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

### `[static]` const struct wl_interface *QWaylandIviSurface::interface()

Returns the Wayland interface for the QWaylandIviSurface.

### `[static]` QWaylandSurfaceRole *QWaylandIviSurface::role()

Returns the surface role for the QWaylandIviSurface.

### `[invokable]` void QWaylandIviSurface::sendConfigure(const QSize &size)

Sends a configure event to the client, telling it to resize the surface to the given size.

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