QWaylandSurface Class

Die Klasse QWaylandSurface repräsentiert einen rechteckigen Bereich auf einem Ausgabegerät. Mehr...

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

Öffentliche Typen

enum Origin { OriginTopLeft, OriginBottomLeft }

Eigenschaften

Öffentliche Funktionen

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

Öffentliche Slots

Signale

Statische öffentliche Mitglieder

QWaylandSurface *fromResource(wl_resource *resource)

Detaillierte Beschreibung

Diese Klasse kapselt einen rechteckigen Bereich von Pixeln, der auf einem Ausgabegerät dargestellt wird. Sie entspricht der Schnittstelle wl_surface im Wayland-Protokoll.

Dokumentation der Mitgliedstypen

enum QWaylandSurface::Origin

Dieser Enum-Typ wird verwendet, um den Ursprung des Puffers von QWaylandSurface anzugeben.

KonstanteWertBeschreibung
QWaylandSurface::OriginTopLeft0Der Ursprung ist die linke obere Ecke des Puffers.
QWaylandSurface::OriginBottomLeft1Der Ursprung ist die untere linke Ecke des Puffers.

Dokumentation der Eigenschaft

[read-only] bufferScale : const int

Diese Eigenschaft enthält die Pufferskala von QWaylandSurface. Mit der Pufferskala kann ein Client Pufferdaten mit höherer Auflösung für die Verwendung bei hochauflösenden Ausgaben bereitstellen.

Zugriffsfunktionen:

int bufferScale() const

Benachrichtigungssignal:

void bufferScaleChanged()

[read-only] bufferSize : const QSize

Diese Eigenschaft enthält die Größe des aktuellen Puffers dieses QWaylandSurface in Pixeln, nicht in Oberflächenkoordinaten.

Für die Größe in Oberflächenkoordinaten verwenden Sie stattdessen destinationSize.

Zugriffsfunktionen:

QSize bufferSize() const

Benachrichtigungssignal:

void bufferSizeChanged()

Siehe auch destinationSize und bufferScale.

[read-only] client : QWaylandClient* const

Diese Eigenschaft enthält den Client, der diese QWaylandSurface verwendet.

Zugriffsfunktionen:

QWaylandClient *client() const

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

Diese Eigenschaft bestimmt die Ausrichtung des Inhalts von QWaylandSurface.

Zugriffsfunktionen:

Qt::ScreenOrientation contentOrientation() const

Benachrichtigungssignal:

void contentOrientationChanged()

Siehe auch QWaylandOutput::transform.

cursorSurface : bool

Diese Eigenschaft gibt an, ob es sich bei QWaylandSurface um eine Cursorfläche handelt.

Zugriffsfunktionen:

bool isCursorSurface() const
void markAsCursorSurface(bool cursorSurface)

Melder-Signal:

void cursorSurfaceChanged()

[read-only] destinationSize : const QSize

Diese Eigenschaft enthält die Größe dieser WaylandSurface in Oberflächenkoordinaten.

Zugriffsfunktionen:

QSize destinationSize() const

Benachrichtigungssignal:

void destinationSizeChanged()

Siehe auch bufferScale und bufferSize.

[read-only] hasContent : const bool

Diese Eigenschaft gibt an, ob die Seite QWaylandSurface einen Inhalt hat.

Zugriffsfunktionen:

bool hasContent() const

Benachrichtigungssignal:

void hasContentChanged()

[read-only] inhibitsIdle : const bool

Diese Eigenschaft gibt an, ob diese Oberfläche das Leerlaufverhalten des Compositors wie Bildschirmausblendung, Sperren und Speichern des Bildschirms verhindern soll.

Zugriffsfunktionen:

bool inhibitsIdle() const

Notifier-Signal:

void inhibitsIdleChanged()

Siehe auch QWaylandIdleInhibitManagerV1.

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

Diese Eigenschaft gibt an, ob die Oberfläche vollständig undurchsichtig ist, wie vom Client über die set_opaque_region-Anforderung gemeldet.

Diese Eigenschaft wurde in Qt 6.4 eingeführt.

Zugriffsfunktionen:

bool isOpaque() const

Notifier-Signal:

void isOpaqueChanged()

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

Diese Eigenschaft enthält den Ursprung des Puffers von QWaylandSurface, oder QWaylandSurface::OriginTopLeft, wenn die Oberfläche keinen Puffer hat.

Zugriffsfunktionen:

QWaylandSurface::Origin origin() const

Benachrichtigungssignal:

void originChanged()

[read-only] sourceGeometry : const QRectF

Diese Eigenschaft beschreibt den Teil des angehängten QWaylandBuffers, der auf dem Bildschirm gezeichnet werden soll. Die Koordinaten gehen von der Ecke des Puffers aus und werden durch bufferScale skaliert.

Zugriffsfunktionen:

QRectF sourceGeometry() const

Notifier-Signal:

void sourceGeometryChanged()

Siehe auch bufferScale, bufferSize, und destinationSize.

Dokumentation der Mitgliedsfunktionen

QWaylandSurface::QWaylandSurface()

Konstruiert eine uninitialisierte QWaylandSurface.

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

Konstruiert und initialisiert eine QWaylandSurface für die angegebenen compositor und client, und mit den angegebenen id und version.

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

Zerstört die QWaylandSurface.

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

Dieses Signal wird ausgegeben, wenn eine wl_subsurface, child, zur Oberfläche hinzugefügt wurde.

QWaylandCompositor *QWaylandSurface::compositor() const

Gibt den Compositor für diesen QWaylandSurface zurück.

[invokable] void QWaylandSurface::destroy()

Zerstört die QWaylandSurface.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

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

Dieses Signal wird ausgegeben, wenn eine drag von dieser Fläche aus gestartet wurde.

[invokable] void QWaylandSurface::frameStarted()

Bereitet alle Frame-Callbacks zum Senden vor.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

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

Gibt die QWaylandSurface zurück, die der Wayland-Ressource resource entspricht.

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

Initialisiert QWaylandSurface mit den angegebenen compositor und client, sowie mit den angegebenen id und version.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

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

Gibt true zurück, wenn der Eingabebereich von QWaylandSurface den Punkt p enthält. Andernfalls wird false zurückgegeben.

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

Gibt true zurück, wenn der Eingabebereich von QWaylandSurface den Punkt position enthält. Andernfalls wird false zurückgegeben.

[invokable] bool QWaylandSurface::isDestroyed() const

Gibt true zurück, wenn die QWaylandSurface zerstört wurde. Andernfalls wird false zurückgegeben.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

bool QWaylandSurface::isInitialized() const

Gibt true zurück, wenn die QWaylandSurface initialisiert wurde.

QWaylandView *QWaylandSurface::primaryView() const

Gibt die primäre Ansicht dieser QWaylandSurface zurück.

Siehe auch QWaylandView::advance() und QWaylandSurface::setPrimaryView().

struct wl_resource *QWaylandSurface::resource() const

Gibt die Wayland-Ressource zurück, die dieser QWaylandSurface entspricht.

[invokable] void QWaylandSurface::sendFrameCallbacks()

Sendet anstehende Rahmenrückrufe.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

void QWaylandSurface::setPrimaryView(QWaylandView *view)

Setzt die primäre Ansicht dieser QWaylandSurface auf view, falls es mehrere Ansichten dieser Oberfläche gibt. Die primäre Ansicht ist die Ansicht, die die Aktualisierungsrate des Clients bestimmt. Sie sorgt dafür, dass Pufferreferenzen verworfen werden, wenn QWaylandView::advance() aufgerufen wird. Siehe die Dokumentation für QWaylandView::advance() für weitere Details.

In Shell-Oberflächen-Integrationen, wie QWaylandWlShellIntegration und QWaylandXdgShellV5Integration, haben Maximieren- und Vollbild-Anforderungen vom Client nur einen Effekt, wenn die Integration die primäre Ansicht der Oberfläche hat.

Siehe auch primaryView() und QWaylandView::advance().

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

Setzt eine role auf die Oberfläche. Eine Rolle definiert, wie eine Oberfläche auf dem Bildschirm abgebildet wird; ohne eine Rolle soll eine Oberfläche verborgen sein. Sobald einer Oberfläche eine Rolle zugewiesen wurde, wird dies zu ihrer permanenten Rolle. Jeder nachfolgende Aufruf von setRole() mit einer anderen Rolle löst einen Protokollfehler auf errorResource aus und sendet eine errorCode an den Client. Die Durchsetzung dieser Anforderung ist der Hauptzweck der Oberflächenrolle.

Die role wird anhand des Zeigerwerts verglichen. Zwei beliebige Objekte von QWaylandSurfaceRole werden als unterschiedliche Rollen betrachtet, unabhängig von ihren Namen.

Die Oberflächenrolle wird intern von Protokollimplementierungen festgelegt, wenn eine Oberfläche für einen bestimmten Zweck verwendet wird, zum Beispiel in einer Shell-Erweiterung. Sofern Sie keine Erweiterungen entwickeln, die Oberflächen auf diese Weise verwenden, sollten Sie diese Funktion nicht aufrufen.

Gibt true zurück, wenn eine Rolle zugewiesen werden kann; andernfalls false.

[signal] void QWaylandSurface::surfaceDestroyed()

Dieses Signal wird ausgegeben, wenn die entsprechende wl_Oberfläche zerstört wird.

[slot] void QWaylandSurface::updateSelection()

Aktualisiert die Oberfläche mit der beibehaltenen Zwischenablageauswahl des Compositors. Obwohl dies automatisch geschieht, wenn die Oberfläche den Tastaturfokus erhält, ist diese Funktion nützlich, um Clients zu aktualisieren, die nicht den Tastaturfokus haben.

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

Gibt die Ansichten für diese QWaylandSurface zurück.

wl_client *QWaylandSurface::waylandClient() const

Hält die wl_client über diese QWaylandSurface.

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.