QWaylandCompositorExtensionTemplate Class

template <typename T> class QWaylandCompositorExtensionTemplate

QWaylandCompositorExtensionTemplate is a convenience class for subclassing QWaylandCompositorExtension . 更多...

头: #include <QWaylandCompositorExtensionTemplate>
CMake: find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor)
target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor)
qmake: QT += waylandcompositor
继承: QWaylandCompositorExtension
继承者:

QWaylandIdleInhibitManagerV1 , QWaylandIviApplication , QWaylandPresentationTime , QWaylandQtTextInputMethodManager , QWaylandTextInputManager , QWaylandViewporter , QWaylandXdgDecorationManagerV1 ,和 QWaylandXdgOutputManagerV1

静态公共成员

T * findIn (QWaylandObject * container )

详细描述

QWaylandCompositorExtensionTemplate is a template class which inherits QWaylandCompositorExtension and is convenience for building custom Wayland extensions with Qt.

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.

Typically, a new extension will dual-inherit QWaylandCompositorExtensionTemplate and the class generated by qtwaylandscanner .

QWaylandCompositorExtensionTemplate should be parameterized with the subclass itself:

class MyExtension
    : public QWaylandCompositorExtensionTemplate<MyExtension>
    , QtWaylandServer::my_extension
					

在此范例中, MyExtension is an implementation of the generated interface my_extension .

另请参阅 Custom Shell .

成员函数文档编制

[static] T *QWaylandCompositorExtensionTemplate:: 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.