- Qt 6.8
- Qt Wayland Compositor
- Qt Wayland Compositor C++ Classes
- Qt Wayland Compositor | Commercial or GPLv3

# Qt Wayland Compositor C++ Classes

Provides C++ classes for writing custom Wayland display servers. More...

## Classes

QWaylandBufferRef | Holds the reference to a surface buffer
QWaylandClient | Represents a client connecting to the QWaylandCompositor
QWaylandCompositor | Manages the Wayland display server
QWaylandCompositorExtension | The base class for compositor extensions
QWaylandCompositorExtensionTemplate | Convenience class for subclassing QWaylandCompositorExtension
QWaylandIdleInhibitManagerV1 | Provides an extension that allows to inhibit the idle behavior of the compositor
QWaylandIviApplication | Extension for embedded-style user interfaces
QWaylandIviSurface | Simple way to identify and resize a surface
QWaylandKeyboard | Represents a keyboard device
QWaylandObject | The base class for objects that can contain Wayland extensions
QWaylandOutput | Represents a displayable area managed by the compositor
QWaylandOutputMode | Holds the resolution and refresh rate of an output
QWaylandPointer | Represents a pointer device
QWaylandPresentationTime | Extension to get timing for on-screen presentation
QWaylandQtTextInputMethodManager | Provides access to input methods in the compositor
QWaylandQuickItem | Qt Quick item representing a QWaylandView
QWaylandQuickShellIntegration | Provides support for shell surface integration with QtQuick
QWaylandQuickShellSurfaceItem | Qt Quick item that represents a QWaylandShellSurface
QWaylandResource | Container for a wl_resource
QWaylandSeat | Access to keyboard, mouse, and touch input
QWaylandShellSurface | Common interface for surface roles specified by shell extensions
QWaylandShellSurfaceTemplate | Convenience class for creating custom shell surface classes
QWaylandSurface | Represents a rectangular area on an output device
QWaylandSurfaceGrabber | Allows to read the content of a QWaylandSurface
QWaylandSurfaceRole | Represents the role of the surface in context of wl_surface
QWaylandTextInputManager | Provides access to input methods in the compositor
QWaylandTouch | Access to a touch device
QWaylandView | Represents a view of a surface on an output
QWaylandViewporter | Provides an extension for surface resizing and cropping
QWaylandWlShell | Extension for desktop-style user interfaces
QWaylandWlShellSurface | Desktop-style compositor-specific features to a surface
QWaylandXdgDecorationManagerV1 | Provides an extension for negotiation of server-side and client-side window decorations
QWaylandXdgOutputManagerV1 | Provides an extension for describing outputs in a desktop oriented fashion
QWaylandXdgPopup | Represents the popup specific parts of an xdg surface
QWaylandXdgShell | Extension for desktop-style user interfaces
QWaylandXdgSurface | Desktop-style compositor-specific features to an xdg surface
QWaylandXdgToplevel | Represents the toplevel window specific parts of an xdg surface

## Detailed Description

### Using the Module

Using a Qt module's C++ API requires linking against the module library, either directly or through other dependencies. Several build tools have dedicated support for this, including CMake and qmake.

#### Building with CMake

Use the `find_package()` command to locate the needed module component in the `Qt6` package:

     find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor)
     target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor)

For more details, see the Build with CMake overview.

#### Building with qmake

To configure the module for building with qmake, add the module as a value of the `QT` variable in the project's .pro file:

     QT += waylandcompositor

For more information about using these classes in your application, see the Qt Wayland Compositor documentation.