QWaylandSurface Class

QWaylandSurfaceクラスは、出力デバイス上の矩形領域を表します。詳細...

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

パブリックタイプ

enum Origin { OriginTopLeft, OriginBottomLeft }

プロパティ

パブリック関数

QWaylandSurface()
QWaylandSurface(QWaylandCompositor *compositor, QWaylandClient *client, uint id, int version)
virtual ~QWaylandSurface() override
int bufferScale() const
QSize bufferSize() const
QWaylandClient *client() const
QWaylandCompositor *compositor() const
Qt::ScreenOrientation contentOrientation() const
QSize destinationSize() const
void destroy()
void frameStarted()
bool hasContent() const
bool inhibitsIdle() const
void initialize(QWaylandCompositor *compositor, QWaylandClient *client, uint id, int version)
bool inputRegionContains(const QPoint &p) const
bool inputRegionContains(const QPointF &position) const
bool isCursorSurface() const
bool isDestroyed() const
bool isInitialized() const
bool isOpaque() const
void markAsCursorSurface(bool cursorSurface)
QWaylandSurface::Origin origin() const
QWaylandView *primaryView() const
struct wl_resource *resource() const
void sendFrameCallbacks()
void setPrimaryView(QWaylandView *view)
bool setRole(QWaylandSurfaceRole *role, wl_resource *errorResource, uint32_t errorCode)
QRectF sourceGeometry() const
QList<QWaylandView *> views() const
wl_client *waylandClient() const

パブリックスロット

シグナル

静的パブリックメンバ

QWaylandSurface *fromResource(wl_resource *resource)

詳細説明

このクラスは、出力デバイスに表示されるピクセルの矩形領域をカプセル化します。Waylandプロトコルのインターフェースwl_surface に対応する。

メンバ型ドキュメント

enum QWaylandSurface::Origin

この列挙型はQWaylandSurface のバッファの原点を指定するために使用されます。

定数説明
QWaylandSurface::OriginTopLeft0原点はバッファの左上隅です。
QWaylandSurface::OriginBottomLeft1原点はバッファの左下隅です。

プロパティ ドキュメント

[read-only] bufferScale : const int

このプロパティはQWaylandSurface のバッファスケールを保持します。バッファスケールは、クライアントが高解像度出力で使用するために、より高解像度のバッファデータを供給することを可能にします。

アクセス関数

int bufferScale() const

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

void bufferScaleChanged()

[read-only] bufferSize : const QSize

このプロパティは、このQWaylandSurface の現在のバッファのサイズを、表面座標ではなくピクセルで保持する。

表面座標でのサイズについては、代わりにdestinationSize

アクセス関数

QSize bufferSize() const

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

void bufferSizeChanged()

destinationSize およびbufferScaleも参照

[read-only] client : QWaylandClient* const

このプロパティは、このQWaylandSurface を使用しているクライアントを保持します。

アクセス関数:

QWaylandClient *client() const

[read-only] contentOrientation : const Qt::ScreenOrientation

このプロパティは、QWaylandSurface のコンテンツの向きを保持します。

アクセス関数:

Qt::ScreenOrientation contentOrientation() const

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

void contentOrientationChanged()

QWaylandOutput::transformも参照

cursorSurface : bool

このプロパティは、QWaylandSurface がカーソル面であるかどうかを保持する。

アクセス関数:

bool isCursorSurface() const
void markAsCursorSurface(bool cursorSurface)

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

void cursorSurfaceChanged()

[read-only] destinationSize : const QSize

このプロパティは、WaylandSurface のサイズをサーフェス座標で保持します。

アクセス関数:

QSize destinationSize() const

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

void destinationSizeChanged()

bufferScale およびbufferSizeも参照のこと

[read-only] hasContent : const bool

このプロパティは、QWaylandSurface にコンテンツがあるかどうかを保持する。

アクセス関数:

bool hasContent() const

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

void hasContentChanged()

[read-only] inhibitsIdle : const bool

このプロパティは、このサーフェスが、スクリーンブランキング、ロック、スクリーンセーブなど、コンポジターのアイドル動作を抑制するためのものであるかどうかを保持する。

アクセス関数

bool inhibitsIdle() const

Notifier シグナル:

void inhibitsIdleChanged()

QWaylandIdleInhibitManagerV1も参照してください

[read-only, since 6.4] isOpaque : const bool

このプロパティは、set_opaque_regionリクエストを通してクライアントから報告されたように、サーフェスが完全に不透明であるかどうかを保持します。

このプロパティは Qt 6.4 で導入されました。

アクセス関数です:

bool isOpaque() const

Notifier シグナル:

void isOpaqueChanged()

[read-only] origin : const QWaylandSurface::Origin

このプロパティは、QWaylandSurface'sのバッファの原点を保持し、サーフェスにバッファがない場合はQWaylandSurface::OriginTopLeft

アクセス関数:

QWaylandSurface::Origin origin() const

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

void originChanged()

[read-only] sourceGeometry : const QRectF

このプロパティは、アタッチされたQWaylandBufferのうち、スクリーンに描画されるべき部分を記述します。座標はバッファのコーナーからで、bufferScale によってスケーリングされます。

アクセス関数

QRectF sourceGeometry() const

Notifierシグナル:

void sourceGeometryChanged()

bufferScale,bufferSize,destinationSizeも参照してください

メンバ関数ドキュメント

QWaylandSurface::QWaylandSurface()

未初期化の QWaylandSurface を構築します。

QWaylandSurface::QWaylandSurface(QWaylandCompositor *compositor, QWaylandClient *client, uint id, int version)

与えられたcompositorclient のために、そして与えられたidversion のために QWaylandSurface を構築し、初期化します。

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

QWaylandSurface を破棄します。

[signal] void QWaylandSurface::childAdded(QWaylandSurface *child)

このシグナルは wl_subsurface,child がサーフェスに追加されたときに発せられます。

QWaylandCompositor *QWaylandSurface::compositor() const

このQWaylandSurface のコンポジターを返します。

[invokable] void QWaylandSurface::destroy()

QWaylandSurface を破棄します。

注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

[signal] void QWaylandSurface::dragStarted(QWaylandDrag *drag)

このシグナルは、このサーフェスからdrag が開始されたときに発せられます。

[invokable] void QWaylandSurface::frameStarted()

すべてのフレームのコールバックを送信準備します。

注意: この関数は、メタオブジェクトシステムや QML から呼び出すことができます。Q_INVOKABLE を参照してください。

[static] QWaylandSurface *QWaylandSurface::fromResource(wl_resource *resource)

Waylandリソースresource に対応するQWaylandSurface を返します。

[invokable] void QWaylandSurface::initialize(QWaylandCompositor *compositor, QWaylandClient *client, uint id, int version)

与えられたcompositorclientQWaylandSurface を初期化し、与えられたidversion で を初期化します。

注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

bool QWaylandSurface::inputRegionContains(const QPoint &p) const

QWaylandSurface の入力領域に点p が含まれる場合はtrue を返します。そうでない場合はfalse を返します。

bool QWaylandSurface::inputRegionContains(const QPointF &position) const

QWaylandSurface の入力領域に点position が含まれる場合はtrue を返す。それ以外の場合はfalse を返す。

[invokable] bool QWaylandSurface::isDestroyed() const

QWaylandSurface が破壊された場合は true を返す。それ以外の場合は偽を返す。

注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

bool QWaylandSurface::isInitialized() const

QWaylandSurface が初期化されていれば真を返します。

QWaylandView *QWaylandSurface::primaryView() const

このQWaylandSurface のプライマリ・ビューを返します。

QWaylandView::advance() およびQWaylandSurface::setPrimaryView()も参照

struct wl_resource *QWaylandSurface::resource() const

このQWaylandSurface に対応する Wayland リソースを返します。

[invokable] void QWaylandSurface::sendFrameCallbacks()

保留中のフレームコールバックを送信します。

注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

void QWaylandSurface::setPrimaryView(QWaylandView *view)

このサーフェスに複数のビューがある場合、このQWaylandSurface のプライマリビューをview に設定します。プライマリビューはクライアントのリフレッシュレートを管理するビューです。このビューは、QWaylandView::advance() が呼び出されたときにバッファ参照を破棄します。詳細はQWaylandView::advance() のドキュメントを参照してください。

QWaylandWlShellIntegration や QWaylandXdgShellV5Integration などのシェルサーフェス統合では、クライアントからの最大化およびフルスクリーンリクエストは、統合がサーフェスのプライマリビューを持っている場合にのみ効果があります。

primaryView() およびQWaylandView::advance()も参照してください

bool QWaylandSurface::setRole(QWaylandSurfaceRole *role, wl_resource *errorResource, uint32_t errorCode)

サーフェスにrole を設定します。ロールはサーフェスがスクリーン上でどのようにマッピングされるかを定義します。一度ロールがサーフェスに割り当てられると、これが永続的なロールになります。それ以降、異なるロールでsetRole() を呼び出すと、errorResource にプロトコルエラーが発生し、errorCode がクライアントに送信される。この要件を強制することが、サーフェスロールの主な目的である。

role はポインタ値で比較される。QWaylandSurfaceRole 、2つのオブジェクトはその名前に関係なく、異なるロールとみなされます。

サーフェスロールは、例えばシェル拡張などでサーフェスが特定の目的に採用された場合、プロトコル実装によって内部的に設定されます。このような方法でサーフェスを使用する拡張機能を開発していない限り、この関数を呼び出すべきではありません。

ロールを割り当てることができればtrueを返し、そうでなければfalseを返します。

[signal] void QWaylandSurface::surfaceDestroyed()

このシグナルは、対応するwl_surfaceが破棄されたときに発行されます。

[slot] void QWaylandSurface::updateSelection()

コンポジターが保持するクリップボード選択でサーフェスを更新します。これはサーフェスがキーボードフォーカスを受け取ると自動的に行われますが、この関数はキーボードフォーカスを持たないクライアントを更新するのに便利です。

QList<QWaylandView *> QWaylandSurface::views() const

このQWaylandSurface のビューを返します。

wl_client *QWaylandSurface::waylandClient() const

このQWaylandSurface を使用してwl_client を保持します。

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