QWaylandCompositorExtensionTemplate Class

template <typename T> class QWaylandCompositorExtensionTemplate

QWaylandCompositorExtensionTemplate はQWaylandCompositorExtension をサブクラス化するための便利なクラスです。さらに...

Header: #include <QWaylandCompositorExtensionTemplate>
CMake: find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor)
target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor)
qmake: QT += waylandcompositor
Inherits: QWaylandCompositorExtension
Inherited By:

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

静的パブリックメンバー

T *findIn(QWaylandObject *container)

詳しい説明

QWaylandCompositorExtensionTemplateはQWaylandCompositorExtension を継承したテンプレートクラスで、QtでカスタムWayland拡張機能をビルドするための便利なものです。

これはQt Wayland Compositorとqtwaylandscanner 、拡張プロトコルのXML記述に基づいて生成されたクラスとの接続を提供します。

具体的には2つの便利な機能を提供します:

  • qtwaylandscanner が生成した基底クラスへのwl_interface ポインタを返すQWaylandCompositorExtension::extensionInterface() の再実装。
  • 提供されたコンテナで拡張機能のインスタンスを検索し、見つかったらこれを返す静的なfindIn() 関数。

通常、新しい拡張機能は QWaylandCompositorExtensionTemplate とqtwaylandscanner によって生成されたクラスを継承します。

QWaylandCompositorExtensionTemplate はサブクラスをパラメータ化する必要があります:

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

この例では、MyExtension は生成されたインターフェースmy_extension の実装です。

Custom Shellも参照してください

メンバ関数のドキュメント

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

インターフェースのインスタンスがcontainer に登録されていれば、これが返される。そうでなければ null が返される。ルックアップは、生成されたinterfaceName() 、プロトコル記述のインターフェース名と一致するものに基づいて行われる。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。