QWaylandSurface Class
Die Klasse „QWaylandSurface“ stellt einen rechteckigen Bereich auf einem Ausgabegerät dar. Mehr...
| Header: | #include <QWaylandSurface> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor) target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor) |
| qmake: | QT += waylandcompositor |
| In QML: | WaylandSurface |
| Erbt von: | 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 kapseln einen rechteckigen Pixelbereich, der auf einem Ausgabegerät angezeigt wird. Sie entspricht der Schnittstelle „ wl_surface “ im Wayland-Protokoll.
Dokumentation zum Mitgliedstyp
enum QWaylandSurface::Origin
Dieser Enum-Typ wird verwendet, um die Herkunft des Puffers eines „ QWaylandSurface “ anzugeben.
| Konstante | Wert | Beschreibung |
|---|---|---|
QWaylandSurface::OriginTopLeft | 0 | Der Ursprung ist die obere linke Ecke des Puffers. |
QWaylandSurface::OriginBottomLeft | 1 | Der Ursprung ist die untere linke Ecke des Puffers. |
Eigenschaftsdokumentation
[read-only] bufferScale : int
Diese Eigenschaft enthält den Puffer-Maßstab des „ QWaylandSurface “. Der Puffer-Maßstab ermöglicht es einem Client, Pufferdaten mit höherer Auflösung bereitzustellen, die für hochauflösende Ausgabegeräte verwendet werden können.
Zugriffsfunktionen:
| int | bufferScale() const |
Benachrichtigungssignal:
| void | bufferScaleChanged() |
[read-only] bufferSize : QSize
Diese Eigenschaft gibt die Größe des aktuellen Puffers dieses „ QWaylandSurface “ in Pixeln an, nicht in Oberflächenkoordinaten.
Für die Größe in Oberflächenkoordinaten verwenden Sie stattdessen destinationSize.
Zugriffsfunktionen:
| QSize | bufferSize() const |
Notifier-Signal:
| void | bufferSizeChanged() |
Siehe auch „ destinationSize “ und „ bufferScale “.
[read-only] client : QWaylandClient* const
Diese Eigenschaft enthält den Client, der diese QWaylandSurface nutzt.
Zugriffsfunktionen:
| QWaylandClient * | client() const |
[read-only] contentOrientation : Qt::ScreenOrientation
Diese Eigenschaft gibt die Ausrichtung des Inhalts von „ QWaylandSurface “ an.
Zugriffsfunktionen:
| Qt::ScreenOrientation | contentOrientation() const |
Benachrichtigungssignal:
| void | contentOrientationChanged() |
Siehe auch „ QWaylandOutput::transform “.
cursorSurface : bool
Diese Eigenschaft gibt an, ob die „ QWaylandSurface “ eine Cursor-Oberfläche ist.
Zugriffsfunktionen:
| bool | isCursorSurface() const |
| void | markAsCursorSurface(bool cursorSurface) |
Benachrichtigungssignal:
| void | cursorSurfaceChanged() |
[read-only] destinationSize : QSize
Diese Eigenschaft enthält die Größe dieses WaylandSurface in Oberflächenkoordinaten.
Zugriffsfunktionen:
| QSize | destinationSize() const |
Benachrichtigungssignal:
| void | destinationSizeChanged() |
Siehe auch „ bufferScale “ und „ bufferSize “.
[read-only] hasContent : bool
Diese Eigenschaft gibt an, ob die Oberfläche derzeit über einen fest zugewiesenen, nicht-null-Puffer verfügt.
Zugriffsfunktionen:
| bool | hasContent() const |
Benachrichtigungssignal:
| void | hasContentChanged() |
Siehe auch „ QWaylandSurface::bufferSize “.
[read-only] inhibitsIdle : bool
Diese Eigenschaft gibt an, ob diese Oberfläche das Leerlaufverhalten des Compositors – wie z. B. Bildschirmabschaltung, Bildschirmsperre und Bildschirmschoner – unterbinden soll.
Zugriffsfunktionen:
| bool | inhibitsIdle() const |
Benachrichtigungssignal:
| void | inhibitsIdleChanged() |
Siehe auch „ QWaylandIdleInhibitManagerV1 “.
[read-only, since 6.4] isOpaque : bool
Diese Eigenschaft gilt unabhängig davon, ob die Fläche vollständig undurchsichtig ist, wie vom Client über die Anforderung „set_opaque_region“ gemeldet.
Diese Aufzählung wurde in Qt 6.4 eingeführt.
Zugriffsfunktionen:
| bool | isOpaque() const |
Notifier-Signal:
| void | isOpaqueChanged() |
[read-only] origin : QWaylandSurface::Origin
Diese Eigenschaft enthält den Ursprung des Puffers der „ QWaylandSurface “ oder „ QWaylandSurface::OriginTopLeft “, falls die Oberfläche keinen Puffer hat.
Zugriffsfunktionen:
| QWaylandSurface::Origin | origin() const |
Benachrichtigungssignal:
| void | originChanged() |
[read-only] sourceGeometry : QRectF
Diese Eigenschaft beschreibt den Teil des angehängten QWaylandBuffer, der auf dem Bildschirm gezeichnet werden soll. Die Koordinaten werden von der Ecke des Puffers aus gemessen und mit bufferScale skaliert.
Zugriffsfunktionen:
| QRectF | sourceGeometry() const |
Notifier-Signal:
| void | sourceGeometryChanged() |
Siehe auch „ bufferScale “, „ bufferSize “ und „ destinationSize “.
Dokumentation der Mitgliedsfunktionen
QWaylandSurface::QWaylandSurface()
Erstellt eine nicht initialisierte `QWaylandSurface`.
QWaylandSurface::QWaylandSurface(QWaylandCompositor *compositor, QWaylandClient *client, uint id, int version)
Erstellt und initialisiert eine `QWaylandSurface` für die angegebenen ` compositor ` und ` client` sowie mit den angegebenen ` id ` und ` version`.
[override virtual noexcept] QWaylandSurface::~QWaylandSurface()
Zerstört die „ QWaylandSurface “.
[signal] void QWaylandSurface::childAdded(QWaylandSurface *child)
Dieses Signal wird ausgelöst, wenn ein „wl_subsurface“ ( child) zur Oberfläche hinzugefügt wurde.
QWaylandCompositor *QWaylandSurface::compositor() const
Gibt den Compositor für diese „ QWaylandSurface “ zurück.
[invokable] void QWaylandSurface::destroy()
Löscht das „ QWaylandSurface “.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
[signal] void QWaylandSurface::dragStarted(QWaylandDrag *drag)
Dieses Signal wird ausgesendet, wenn ein „ drag “ von dieser Fläche gestartet ist.
[invokable] void QWaylandSurface::frameStarted()
Bereitet alle Frame-Callbacks für den Versand vor.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
[static] QWaylandSurface *QWaylandSurface::fromResource(wl_resource *resource)
Gibt das „ QWaylandSurface “ zurück, das der Wayland-Ressource „ resource “ entspricht.
[invokable] void QWaylandSurface::initialize(QWaylandCompositor *compositor, QWaylandClient *client, uint id, int version)
Initialisiert das „ QWaylandSurface “ mit den angegebenen Werten „ compositor “ und „ client “ sowie mit den angegebenen Werten „ id “ und „ version “.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML 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 das „ QWaylandSurface “ zerstört wurde. Andernfalls wird „false“ zurückgegeben.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe „ Q_INVOKABLE “.
bool QWaylandSurface::isInitialized() const
Gibt „true“ zurück, wenn die „ QWaylandSurface “ initialisiert wurde.
QWaylandView *QWaylandSurface::primaryView() const
Gibt die Hauptansicht von „ QWaylandSurface “ zurück.
Siehe auch „ QWaylandView::advance()“ und „ QWaylandSurface::setPrimaryView()“.
struct wl_resource *QWaylandSurface::resource() const
Gibt die Wayland-Ressource zurück, die diesem „ QWaylandSurface “ entspricht.
[invokable] void QWaylandSurface::sendFrameCallbacks()
Sendet Callbacks für ausstehende Frames.
Hinweis: Diese Funktion kann über das Metaobjekt-System und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
void QWaylandSurface::setPrimaryView(QWaylandView *view)
Legt die primäre Ansicht dieser „ QWaylandSurface “ auf „ view “ fest, falls mehrere Ansichten dieser Oberfläche vorhanden sind. Die primäre Ansicht ist die Ansicht, die die Bildwiederholfrequenz des Clients bestimmt. Sie sorgt dafür, dass Pufferverweise verworfen werden, wenn „ QWaylandView::advance()“ aufgerufen wird. Weitere Details finden Sie in der Dokumentation zu „ QWaylandView::advance()“.
Bei Shell-Surface-Integrationen wie QWaylandWlShellIntegration und QWaylandXdgShellV5Integration wirken sich Maximierungs- und Vollbildanforderungen des Clients nur dann aus, wenn die Integration die primäre Ansicht der Oberfläche besitzt.
Siehe auch ` primaryView()` und ` QWaylandView::advance()`.
bool QWaylandSurface::setRole(QWaylandSurfaceRole *role, wl_resource *errorResource, uint32_t errorCode)
Legt eine „ role “ für die Oberfläche fest. Eine Rolle definiert, wie eine Oberfläche auf dem Bildschirm dargestellt wird; ohne Rolle wird eine Oberfläche als ausgeblendet betrachtet. Sobald einer Oberfläche eine Rolle zugewiesen wurde, wird diese zu ihrer permanenten Rolle. Jeder nachfolgende Aufruf von ` setRole() ` mit einer anderen Rolle löst einen Protokollfehler beim ` 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 “ gelten als unterschiedliche Rollen, unabhängig von ihren Namen.
Die Oberflächenrolle wird intern von Protokollimplementierungen festgelegt, wenn eine Oberfläche für einen bestimmten Zweck übernommen wird, beispielsweise in einer Shell-Erweiterung. Sofern Sie keine Erweiterungen entwickeln, die Oberflächen auf diese Weise nutzen, 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 ausgelöst, wenn die entsprechende wl_surface zerstört wird.
[slot] void QWaylandSurface::updateSelection()
Aktualisiert die Oberfläche mit der vom Compositor gespeicherten Auswahl aus der Zwischenablage. Obwohl dies automatisch geschieht, sobald die Oberfläche den Tastaturfokus erhält, ist diese Funktion nützlich, um Clients zu aktualisieren, die keinen Tastaturfokus haben.
QList<QWaylandView *> QWaylandSurface::views() const
Gibt die Ansichten für diese QWaylandSurface zurück.
wl_client *QWaylandSurface::waylandClient() const
Verwaltet die „ wl_client “ mithilfe dieses Links: QWaylandSurface.
© 2026 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.