<QWaylandQuickExtension> - Qt Wayland Compositor Qt Quick Extension Macro Declarations

The <QWaylandQuickExtension> header file includes macros for creating Qt Quick types that correspond to subclasses of QWaylandCompositorExtension and QWaylandObject. More...

Header: #include <QWaylandQuickExtension>

Macros

Detailed Description

If you are creating extensions to Qt Wayland Compositor, the macros in the QWaylandQuickExtension header may be a useful alternative to manually implementing the required parts for each class.

See also Custom Shell.

Macro Documentation

Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_CLASS(className)

This macro can be used to define a Qt Quick class based on a Wayland extension. It defines a new class which inherits from className and which suffixes the name with "QuickExtension".

The class should be a subclass of QWaylandCompositorExtension, and QWaylandCompositorExtension::initialize() will be called automatically. The type must be manually registered in Qt Quick using qmlRegisterType().

See also Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_NAMED_CLASS.

Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_CONTAINER_CLASS(className)

This macro can be used to define a Qt Quick class intended to contain Wayland extensions. It

It defines a new class which inherits from className and which suffixes the name with "QuickExtensionContainer". The class given by className should inherit from QWaylandObject, and the new class will have an extensions property which manages the extensions by calling addExtension() and removeExtension() in the base class.

The type must be manually registered in Qt Quick using qmlRegisterType().

Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_NAMED_CLASS(className, QmlType)

This macro can be used to define a Qt Quick class based on a Wayland extension. It defines a new class which inherits from className and which suffixes the name with "QuickExtension".

The macro works the same as Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_CLASS, but will also automatically register the new type as QmlType in Qt Quick.

© 2024 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.