QWaylandView Class

QWaylandViewクラスは、出力上のサーフェスのビューを表します。詳細...

Header: #include <QWaylandView>
CMake: find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor)
target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor)
qmake: QT += waylandcompositor
In QML: WaylandView
Inherits: QObject

プロパティ

パブリック関数

QWaylandView(QObject *renderObject = nullptr, QObject *parent = nullptr)
virtual ~QWaylandView() override
virtual bool advance()
bool allowDiscardFrontBuffer() const
virtual void bufferCommitted(const QWaylandBufferRef &buffer, const QRegion &damage)
virtual QWaylandBufferRef currentBuffer()
virtual QRegion currentDamage()
virtual void discardCurrentBuffer()
bool isBufferLocked() const
bool isPrimary() const
QWaylandOutput *output() const
void setAllowDiscardFrontBuffer(bool discard)
void setBufferLocked(bool locked)
void setOutput(QWaylandOutput *output)
void setPrimary()
void setSurface(QWaylandSurface *surface)
QWaylandSurface *surface() const
struct wl_resource *surfaceResource() const

シグナル

詳細説明

QWaylandViewは、レンダリングされるコンテンツを含むバッファを管理し、特定の出力上のサーフェスのプレゼンテーションに対応します。同じサーフェスに複数のビューを持つことができます。

プロパティの説明

allowDiscardFrontBuffer : bool

デフォルトでは、ビューはadvance() が呼び出されるまで現在のバッファをロックします。このプロパティをtrue に設定すると、プライマリビューがバッファを使用しなくなったときに、Qtがバッファを解放するようになります。

これは、より低い頻度で更新するセカンダリビューが、クライアントアプリケーションのフレームレートを遅くしてしまう状況を避けるために使用できます。

アクセス関数

bool allowDiscardFrontBuffer() const
void setAllowDiscardFrontBuffer(bool discard)

通知シグナル:

void allowDiscardFrontBufferChanged()

bufferLocked : bool

このプロパティは、ビューのバッファが現在ロックされているかどうかを保持します。バッファがロックされている場合、advance() は次のバッファに進まず、false を返します。

デフォルトはfalse です。

アクセス関数:

bool isBufferLocked() const
void setBufferLocked(bool locked)

通知シグナル:

void bufferLockedChanged()

output : QWaylandOutput*

このプロパティは、このビューがその表面を表示する出力を保持します。

アクセス関数:

QWaylandOutput *output() const
void setOutput(QWaylandOutput *output)

ノーティファイアシグナル:

void outputChanged()

surface : QWaylandSurface*

このプロパティは、このQWaylandView によって表示されるサーフェスを保持します。

アクセス関数:

QWaylandSurface *surface() const
void setSurface(QWaylandSurface *surface)

ノーティファイアシグナル:

void surfaceChanged()

メンバー関数ドキュメント

QWaylandView::QWaylandView(QObject *renderObject = nullptr, QObject *parent = nullptr)

与えられたrenderObjectparent で QWaylandView を構築します。

[override virtual noexcept] QWaylandView::~QWaylandView()

QWaylandView を破棄します。

[virtual] bool QWaylandView::advance()

現在のバッファとダメージ領域を、クライアントによってコミットされた最新バージョンに更新します。advance()を前回コールしてから新しいコンテンツがコミットされた場合はtrueを返す。そうでない場合は false を返す。

currentBuffer() およびcurrentDamage()も参照

[virtual] void QWaylandView::bufferCommitted(const QWaylandBufferRef &buffer, const QRegion &damage)

この関数は、新しいbuffer がこのビューの表面にコミットされたときに呼び出されます。damage には、現在のバッファとは異なる領域、つまり更新が必要な領域が含まれます。新しいbuffer は、次にadvance() が呼び出されたときにカレントとなります。

この関数を再実装するサブクラスは、ベース実装を呼び出す必要があります

[virtual] QWaylandBufferRef QWaylandView::currentBuffer()

このビューの現在のバッファへの参照を返します。

[virtual] QRegion QWaylandView::currentDamage()

このビューの現在のダメージ領域を返します。

[virtual] void QWaylandView::discardCurrentBuffer()

クライアント側で再利用できるように、ビューに現在のバッファを強制的に破棄させます。

bool QWaylandView::isPrimary() const

このビューがQWaylandView のプライマリビューである場合、true を返します。QWaylandSurface

QWaylandSurface::primaryViewも参照してください

void QWaylandView::setPrimary()

このQWaylandView をサーフェスのプライマリビューにします。

このQWaylandView が何も保持していない場合は、何の効果もありません。QWaylandSurface

isPrimary() およびQWaylandSurface::primaryView参照して ください。

struct wl_resource *QWaylandView::surfaceResource() const

このQWaylandView の Wayland サーフェス リソースを返します。

本ドキュメントに含まれる文書の著作権は各所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundationによって発行されたGNU Free Documentation License version 1.3の条項の下でライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。