QWaylandShellSurfaceTemplate Class

template <typename T> class QWaylandShellSurfaceTemplate

QWaylandShellSurfaceTemplate is a convenience class for creating custom shell surface classes. More...

Header: #include <QWaylandShellSurfaceTemplate>
CMake: find_package(Qt6 REQUIRED COMPONENTS Waylandcompositor)
target_link_libraries(mytarget PRIVATE Qt6::Waylandcompositor)
qmake: QT += waylandcompositor
Since: Qt 5.8
Inherits: QWaylandShellSurface
Inherited By:

QWaylandIviSurface, QWaylandWlShellSurface, and QWaylandXdgSurface

Public Functions

QWaylandShellSurfaceTemplate(QWaylandObject *container = nullptr)

Reimplemented Public Functions

virtual const struct wl_interface *extensionInterface() const override

Static Public Members

T *findIn(QWaylandObject *container)

Protected Functions

QWaylandShellSurfaceTemplate(QWaylandCompositorExtensionPrivate &dd)
QWaylandShellSurfaceTemplate(QWaylandObject *container, QWaylandCompositorExtensionPrivate &dd)

Detailed Description

QWaylandShellSurfaceTemplate is a template class which inherits from QWaylandShellSurface and is convenience for building custom shell extensions.

It provides the connection between Qt Wayland Compositor and the class generated by qtwaylandscanner, based on the XML description of the extension protocol.

It provides two specific pieces of convenience:

  • A reimplementation of QWaylandCompositorExtension::extensionInterface() which returns the wl_interface pointer for the qtwaylandscanner-generated base class.
  • A static findIn() function which searches for an instance of the extension in a provided container, and returns this if it is found.

The same usage pattern applies as for QWaylandCompositorExtensionTemplate.

See also Qt Wayland Compositor Examples - Custom Shell.

Member Function Documentation

QWaylandShellSurfaceTemplate::QWaylandShellSurfaceTemplate(QWaylandObject *container = nullptr)

Default constructs an instance of QWaylandShellSurfaceTemplate.

[protected] QWaylandShellSurfaceTemplate::QWaylandShellSurfaceTemplate(QWaylandCompositorExtensionPrivate &dd)

Default constructs an instance of QWaylandShellSurfaceTemplate.

[protected] QWaylandShellSurfaceTemplate::QWaylandShellSurfaceTemplate(QWaylandObject *container, QWaylandCompositorExtensionPrivate &dd)

Default constructs an instance of QWaylandShellSurfaceTemplate.

[override virtual] const struct wl_interface *QWaylandShellSurfaceTemplate::extensionInterface() const

[static] T *QWaylandShellSurfaceTemplate::findIn(QWaylandObject *container)

If any instance of the interface has been registered with container, this is returned. Otherwise null is returned. The look-up is based on the generated interfaceName() which matches the interface name in the protocol description.

© 2022 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.