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 オブジェクトを拡張コンテナとして渡すことができます。

QWaylandCompositorExtensionTemplateCustom 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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。