QWaylandCompositor Class
QWaylandCompositorクラスはWaylandディスプレイサーバーを管理します。詳細...
Header: | #include <QWaylandCompositor> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor) target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor) |
qmake: | QT += waylandcompositor |
In QML: | WaylandCompositor |
Inherits: | QWaylandObject |
プロパティ
|
|
パブリック関数
QWaylandCompositor(QObject *parent = nullptr) | |
virtual | ~QWaylandCompositor() override |
void | addSocketDescriptor(int fd) |
QVector<QWaylandCompositor::ShmFormat> | additionalShmFormats() const |
virtual void | create() |
QWaylandOutput * | defaultOutput() const |
QWaylandSeat * | defaultSeat() const |
void | destroyClient(QWaylandClient *client) |
void | destroyClientForSurface(QWaylandSurface *surface) |
virtual void | grabSurface(QWaylandSurfaceGrabber *grabber, const QWaylandBufferRef &buffer) |
bool | isCreated() const |
QWaylandOutput * | outputFor(QWindow *window) const |
bool | retainedSelectionEnabled() const |
QWaylandSeat * | seatFor(QInputEvent *inputEvent) |
void | setAdditionalShmFormats(const QVector<QWaylandCompositor::ShmFormat> &additionalShmFormats) |
void | setDefaultOutput(QWaylandOutput *output) |
void | setRetainedSelectionEnabled(bool enabled) |
void | setSocketName(const QByteArray &name) |
void | setUseHardwareIntegrationExtension(bool use) |
QByteArray | socketName() const |
bool | useHardwareIntegrationExtension() const |
シグナル
void | additionalShmFormatsChanged() |
void | createdChanged() |
void | defaultOutputChanged() |
void | defaultSeatChanged(QWaylandSeat *newDevice, QWaylandSeat *oldDevice) |
void | retainedSelectionChanged(bool retainedSelection) |
void | socketNameChanged(const QByteArray &socketName) |
void | surfaceCreated(QWaylandSurface *surface) |
void | surfaceRequested(QWaylandClient *client, uint id, int version) |
void | useHardwareIntegrationExtensionChanged() |
詳細説明
QWaylandCompositorはクライアントとの接続を管理し、outputs 、seats 。
通常、コンポジターアプリケーションは1つのWaylandCompositor インスタンスを持ち、子として複数の出力を持つことができます。
プロパティ Documentation
[since 6.0]
additionalShmFormats : QVector<ShmFormat>
このプロパティは、コンポジターがサポートすると宣伝している追加の wl_shm フォーマットのリストを保持します。
デフォルトでは、必須の ShmFormat_ARGB8888 と ShmFormat_XRGB8888 のみがリストされ、このリストは空になります。
このプロパティは、コンポジターがcreated になる前に設定する必要があります。それ以降の変更は影響しません。
このプロパティは Qt 6.0 で導入されました。
アクセス関数です:
QVector<QWaylandCompositor::ShmFormat> | additionalShmFormats() const |
void | setAdditionalShmFormats(const QVector<QWaylandCompositor::ShmFormat> &additionalShmFormats) |
Notifier シグナル:
void | additionalShmFormatsChanged() |
[read-only]
created : const bool
このプロパティは、QWaylandCompositor が初期化されていれば真、そうでなければ偽になります。
アクセス関数:
bool | isCreated() const |
Notifier シグナル:
void | createdChanged() |
defaultOutput : QWaylandOutput*
このプロパティには、QWaylandCompositor に追加された出力リストの先頭が格納され、出力が追加されていない場合は null が格納されます。
新しいデフォルト出力を設定すると、その出力が出力リストの先頭に追加され、新しいデフォルトになりますが、以前のデフォルトはリストから削除されません。新しいデフォルト出力がすでに出力リストにあった場合は、リストの先頭に移動します。
アクセス関数
QWaylandOutput * | defaultOutput() const |
void | setDefaultOutput(QWaylandOutput *output) |
通知シグナル:
void | defaultOutputChanged() |
[read-only]
defaultSeat : QWaylandSeat* const
このプロパティには、このQWaylandCompositor のデフォルトシートが含まれます。
アクセス関数:
QWaylandSeat * | defaultSeat() const |
通知シグナル:
void | defaultSeatChanged(QWaylandSeat *newDevice, QWaylandSeat *oldDevice) |
retainedSelection : bool
このプロパティは、保持された選択が有効かどうかを保持する。
アクセス関数:
bool | retainedSelectionEnabled() const |
void | setRetainedSelectionEnabled(bool enabled) |
ノーティファイアシグナル:
void | retainedSelectionChanged(bool retainedSelection) |
socketName : QByteArray
このプロパティは、QWaylandCompositor がクライアントとの通信に使用するソケット名を保持する。QWaylandCompositor がcreated になる前に設定する必要がある。
socketName が空の場合(デフォルト)、代わりに開始引数--wayland-socket-name
の内容が使用される。この引数が設定されていない場合、コンポジターはソケット名を探そうとするが、デフォルトではwayland-0
である。
アクセス関数
QByteArray | socketName() const |
void | setSocketName(const QByteArray &name) |
Notifier シグナル:
void | socketNameChanged(const QByteArray &socketName) |
useHardwareIntegrationExtension : bool
このプロパティは、このQWaylandCompositor に対してハードウェア統合拡張を有効にするかどうかを保持する。
このプロパティは、コンポジターがcreated になる前に設定する必要がある。
アクセス関数
bool | useHardwareIntegrationExtension() const |
void | setUseHardwareIntegrationExtension(bool use) |
このプロパティは、このコンポジターでハードウェア統合拡張を有効にするかどうかを保持します:
void | useHardwareIntegrationExtensionChanged() |
メンバ関数ドキュメント
QWaylandCompositor::QWaylandCompositor(QObject *parent = nullptr)
与えられたparent で QWaylandCompositor を構築します。
[override virtual noexcept]
QWaylandCompositor::~QWaylandCompositor()
コンポジターを破棄します。QWaylandCompositor
[invokable]
void QWaylandCompositor::addSocketDescriptor(int fd)
既にバインドされ、リッスンしているサーバーソケットを参照して、ファイル記述子fd のクライアント接続をリッスンします。
ファイルディスクリプタの所有権は取らないので、必要であれば明示的に閉じる必要がある。
注意: このメソッドは libwayland 1.10.0 以降でのみ利用可能である。それ以前のlibwaylandランタイムに対してビルドされた場合、このメソッドはnoopとなります。
注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
[virtual]
void QWaylandCompositor::create()
QWaylandCompositor を初期化します。サブクラスでこの関数をオーバーライドする場合は、 必ずベースクラスの実装を呼び出してください。
[invokable]
void QWaylandCompositor::destroyClient(QWaylandClient *client)
client を破棄します。
注意: この関数はメタオブジェクトシステムおよび QML から呼び出すことができます。Q_INVOKABLE を参照してください。
[invokable]
void QWaylandCompositor::destroyClientForSurface(QWaylandSurface *surface)
surface のクライアントを破棄します。
注意: この関数はメタオブジェクトシステムおよび QML から呼び出すことができます。Q_INVOKABLE を参照してください。
[virtual]
void QWaylandCompositor::grabSurface(QWaylandSurfaceGrabber *grabber, const QWaylandBufferRef &buffer)
与えられたbuffer からサーフェスの内容を取得します。デフォルトの実装では、OpenGLコンテキストが現在のスレッドにバインドされている必要があります。これが不可能な場合は、コンポジターのサブクラスでこの関数を再実装し、カスタムロジックを実装してください。デフォルトの実装では、共有メモリーとOpenGLバッファーのみを取り込みます。
注意: 手動で呼び出すのではなく、QWaylandSurfaceGrabber (grabber) を使用してください。
[invokable]
QWaylandOutput *QWaylandCompositor::outputFor(QWindow *window) const
与えられたwindow に接続されているQWaylandOutput を返します。
注意: この関数はメタオブジェクトシステムや QML から呼び出すことができます。Q_INVOKABLE を参照してください。
QWaylandSeat *QWaylandCompositor::seatFor(QInputEvent *inputEvent)
与えられた入力イベントの座席を選択するinputEvent 。現在のところ、Qt はシングルシートしかサポートしていません。
[signal]
void QWaylandCompositor::surfaceCreated(QWaylandSurface *surface)
このシグナルは、新しいQWaylandSurface インスタンスsurface が生成されたときに発せられます。
[signal]
void QWaylandCompositor::surfaceRequested(QWaylandClient *client, uint id, int version)
このシグナルは、client が idid を持つサーフェスを作成したときに発せられます。インターフェースversion も利用可能です。
このシグナルに接続するスロットは、スロットのスコープ内でQWaylandSurface インスタンスを作成し、初期化することができます。そうでない場合は、デフォルトのサーフェスが作成されます。
このシグナルへの接続は、Qt::DirectConnection 接続タイプでなければなりません。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。