QWaylandCompositorExtensionTemplate Class
template <typename T> class QWaylandCompositorExtensionTemplateQWaylandCompositorExtensionTemplate は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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。