QWaylandCompositorExtension Class
QWaylandCompositorExtension はコンポジター拡張の基本クラスです。詳細...
ヘッダー | #include <QWaylandCompositorExtension> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor) target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor) |
qmake: | QT += waylandcompositor |
を継承する: | QWaylandObject |
によって継承される: |
パブリック関数
QWaylandCompositorExtension() | |
QWaylandCompositorExtension(QWaylandObject *container) | |
QWaylandObject * | extensionContainer() const |
virtual const struct wl_interface * | extensionInterface() const = 0 |
virtual void | initialize() |
void | setExtensionContainer(QWaylandObject *container) |
詳細説明
QWaylandCompositorExtensionは接続のコンポジター側でWayland拡張を実装するための基本クラスです。他の拡張コンテナが明示的に設定されていない場合、QWaylandObject を継承していることを前提として、自動的に親オブジェクトに追加されます。
例えば、グローバル拡張を登録する場合、QWaylandCompositorExtensionを継承し、QWaylandCompositor オブジェクトを拡張コンテナとして渡すことができます。
QWaylandCompositorExtensionTemplate とCustom Shellも参照してください 。
メンバ関数のドキュメント
QWaylandCompositorExtension::QWaylandCompositorExtension()
コンテナを持たない QWaylandCompositorExtension を作成します。
setExtensionContainer()も参照してください 。
QWaylandCompositorExtension::QWaylandCompositorExtension(QWaylandObject *container)
QWaylandCompositorExtension を作成し、エクステンションcontainer に追加します。container は QWaylandCompositorExtension の親にはなりません。
このエクステンションは後でinitialize() が呼ばれたときにcontainer に追加されます。これが自動的に行われるには、現在のスレッドでイベントループが実行されている必要があります。
QWaylandCompositorExtension は破棄されると再び削除されます。
QWaylandObject *QWaylandCompositorExtension::extensionContainer() const
このQWaylandCompositorExtension の拡張コンテナ、または何も設定されていない場合は null を返します。
setExtensionContainer()も参照ください 。
[pure virtual]
const struct wl_interface *QWaylandCompositorExtension::extensionInterface() const
このQWaylandCompositorExtension に対応するwl_interface
を返すように再実装されるべき純粋な仮想関数。
[virtual]
void QWaylandCompositorExtension::initialize()
QWaylandCompositorExtension を初期化します。 デフォルトの実装では、親オブジェクトが拡張コンテナとして設定されていない場合、 また親オブジェクトがQWaylandObject を継承している場合は、その親オブジェクトを採用します。 デフォルトの実装では、拡張コンテナが管理する拡張機能のリストにQWaylandCompositorExtension も追加します。
サブクラスでこの関数をオーバーライドして、カスタマイズした初期化コードを提供します。
void QWaylandCompositorExtension::setExtensionContainer(QWaylandObject *container)
このQWaylandCompositorExtension の拡張コンテナをcontainer に設定する。これはinitialize() の前に呼び出す必要があり、QWaylandCompositorExtension が初期化されると変更できない。
extensionContainer()も参照 。
© 2025 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.