QWaylandCompositorExtension Class
QWaylandCompositorExtension はコンポジター拡張の基本クラスです。詳細...
Header: | #include <QWaylandCompositorExtension> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor) target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor) |
qmake: | QT += waylandcompositor |
Inherits: | QWaylandObject |
Inherited By: | QWaylandCompositorExtensionTemplate and QWaylandShellSurface |
パブリック関数
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()も参照してください 。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。