IviApplication QML Type | Qt Wayland Compositor | Qt 6.11.0
Description: Provides a shell extension for embedded-style user interfaces.

- Qt 6.11
- Qt Wayland Compositor
- QML Types
- QtWayland.Compositor.IviApplication
- IviApplication
- Qt Wayland Compositor | Commercial or GPLv3

# IviApplication QML Type

Provides a shell extension for embedded-style user interfaces. More...

Import Statement: | `import QtWayland.Compositor.IviApplication`
In C++: | QWaylandIviApplication

- List of all members, including inherited members

## Signals

- void iviSurfaceCreated(IviSurface *iviSurface)
- void iviSurfaceRequested(WaylandSurface surface, int iviId, WaylandResource resource)

## Detailed Description

The IviApplication extension provides a way to associate an IviSurface with a regular Wayland surface. Using the IviSurface interface, the client can identify itself by giving an ivi id, and the compositor can ask the client to resize.

IviApplication corresponds to the Wayland `ivi_application` interface.

To provide the functionality of the shell extension in a compositor, create an instance of the IviApplication component and add it to the list of extensions supported by the compositor:

     import QtWayland.Compositor.IviApplication

     WaylandCompositor {
         IviApplication {
             onIviSurfaceCreated: {
                 if (iviSurface.iviId === navigationIviId) {
                     // ...
                 }
             }
         }
     }

## Signal Documentation

### void iviSurfaceCreated(IviSurface *iviSurface)

This signal is emitted when an IviSurface has been created. The supplied iviSurface is most commonly used to instantiate a ShellSurfaceItem.

Note: The corresponding handler is `onIviSurfaceCreated`.

### void iviSurfaceRequested(WaylandSurface surface, int iviId, WaylandResource resource)

This signal is emitted when the client has requested an `ivi_surface` to be associated with surface, which is identified by iviId. The handler for this signal is expected to create the ivi surface for resource and initialize it within the scope of the signal emission. If no ivi surface is created, a default one will be created instead.

Note: The corresponding handler is `onIviSurfaceRequested`.