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
void | updateSelection() |
Signale
void | bufferScaleChanged() |
void | bufferSizeChanged() |
void | childAdded(QWaylandSurface *child) |
void | contentOrientationChanged() |
void | cursorSurfaceChanged() |
void | destinationSizeChanged() |
void | dragStarted(QWaylandDrag *drag) |
void | hasContentChanged() |
void | inhibitsIdleChanged() |
void | isOpaqueChanged() |
void | originChanged() |
void | sourceGeometryChanged() |
void | surfaceDestroyed() |
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.
Konstante | Wert | Beschreibung |
---|---|---|
QWaylandSurface::OriginTopLeft | 0 | Der Ursprung ist die linke obere Ecke des Puffers. |
QWaylandSurface::OriginBottomLeft | 1 | Der 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.