QWaylandBufferRef Class

Die Klasse QWaylandBufferRef enthält die Referenz auf einen Oberflächenpuffer. Mehr...

Kopfzeile: #include <QWaylandBufferRef>
CMake: find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor)
target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor)
qmake: QT += waylandcompositor

Öffentliche Funktionen

QWaylandBufferRef()
QWaylandBufferRef(const QWaylandBufferRef &ref)
~QWaylandBufferRef()
bool hasBuffer() const
bool hasContent() const
(since 6.2) bool hasProtectedContent() const
QImage image() const
bool isDestroyed() const
bool isNull() const
bool isSharedMemory() const
quintptr lockNativeBuffer()
QWaylandSurface::Origin origin() const
QSize size() const
QOpenGLTexture *toOpenGLTexture(int plane = 0) const
void unlockNativeBuffer(quintptr handle)
struct wl_resource *wl_buffer() const
QWaylandBufferRef &operator=(const QWaylandBufferRef &ref)
bool operator!=(const QWaylandBufferRef &lhs, const QWaylandBufferRef &rhs)
bool operator==(const QWaylandBufferRef &lhs, const QWaylandBufferRef &rhs)

Detaillierte Beschreibung

Diese Klasse kann verwendet werden, um einen Oberflächenpuffer zu referenzieren. Solange ein Verweis auf den Puffer existiert, gehört er dem Compositor und kann vom Client nicht verändert werden.

Dokumentation der Mitgliedsfunktionen

QWaylandBufferRef::QWaylandBufferRef()

Konstruiert eine Null-Puffer-Referenz.

QWaylandBufferRef::QWaylandBufferRef(const QWaylandBufferRef &ref)

Erzeugt einen neuen Verweis auf den von ref referenzierten Puffer.

[noexcept] QWaylandBufferRef::~QWaylandBufferRef()

Dereferenziert den Puffer.

bool QWaylandBufferRef::hasBuffer() const

Gibt true zurück, wenn diese QWaylandBufferRef auf einen Puffer verweist. Andernfalls wird false zurückgegeben.

Siehe auch isNull() und hasContent().

bool QWaylandBufferRef::hasContent() const

Gibt true zurück, wenn diese QWaylandBufferRef auf einen Puffer verweist, der Inhalt hat. Andernfalls wird false zurückgegeben.

Siehe auch isNull() und hasBuffer().

[since 6.2] bool QWaylandBufferRef::hasProtectedContent() const

Gibt true zurück, wenn diese QWaylandBufferRef auf einen Puffer verweist, dessen Inhalt geschützt ist. Andernfalls wird false zurückgegeben.

Hinweis: Dies ist ein Enabler, der die Unterstützung durch die Client-Puffer-Integration voraussetzt. Keine der in Qt enthaltenen Client-Puffer-Integrationen unterstützt derzeit geschützte Inhaltspuffer.

Diese Funktion wurde in Qt 6.2 eingeführt.

Siehe auch hasContent().

QImage QWaylandBufferRef::image() const

Gibt ein Bild mit dem Inhalt des Puffers zurück.

bool QWaylandBufferRef::isDestroyed() const

Gibt true zurück, wenn diese QWaylandBufferRef auf einen Puffer verweist, der zerstört wurde. Andernfalls wird false zurückgegeben.

bool QWaylandBufferRef::isNull() const

Gibt true zurück, wenn diese QWaylandBufferRef keinen Puffer referenziert. Andernfalls wird false zurückgegeben.

Siehe auch hasBuffer() und hasContent().

bool QWaylandBufferRef::isSharedMemory() const

Gibt true zurück, wenn der Puffer ein Shared-Memory-Puffer ist. Andernfalls wird false zurückgegeben.

quintptr QWaylandBufferRef::lockNativeBuffer()

Gibt das native Handle für diesen Puffer zurück und markiert ihn als gesperrt, so dass er nicht freigegeben wird, bis unlockNativeBuffer() aufgerufen wird.

Gibt 0 zurück, wenn es kein natives Handle für diesen Puffer gibt oder wenn die Sperre nicht erfolgreich war.

QWaylandSurface::Origin QWaylandBufferRef::origin() const

Gibt den Ursprung des Puffers zurück. Wenn der referenzierte Puffer null ist, wird QWaylandSurface::OriginBottomLeft zurückgegeben.

QSize QWaylandBufferRef::size() const

Gibt die Größe des Puffers zurück. Wenn der referenzierte Puffer null ist, wird eine ungültige QSize() zurückgegeben.

QOpenGLTexture *QWaylandBufferRef::toOpenGLTexture(int plane = 0) const

Gibt eine OpenGL-Textur für den Puffer zurück. plane ist der Index für Mehrebenenformate, wie YUV.

Die zurückgegebene Textur ist Eigentum des Puffers. Die Textur ist nur so lange gültig, wie die Pufferreferenz existiert. Der Aufrufer dieser Funktion darf die Textur nicht löschen und muss einen Verweis auf den Puffer so lange aufrechterhalten, wie die Textur verwendet wird.

Gibt nullptr zurück, wenn kein gültiger Puffer vorhanden ist oder wenn keine Textur erstellt werden kann.

void QWaylandBufferRef::unlockNativeBuffer(quintptr handle)

Markiert den nativen Puffer als nicht mehr in Gebrauch. handle muss dem Wert entsprechen, der von einem früheren Aufruf von lockNativeBuffer() zurückgegeben wurde.

struct wl_resource *QWaylandBufferRef::wl_buffer() const

Gibt die Wayland-Ressource für den Puffer zurück.

QWaylandBufferRef &QWaylandBufferRef::operator=(const QWaylandBufferRef &ref)

Weist diesem Puffer ref zu und fügt einen Verweis auf ihn hinzu. Der zuvor referenzierte Puffer wird dereferenziert.

Verwandte Nicht-Mitglieder

[noexcept] bool operator!=(const QWaylandBufferRef &lhs, const QWaylandBufferRef &rhs)

Gibt false zurück, wenn lhs auf denselben Puffer wie rhs verweist. Andernfalls wird true zurückgegeben.

[noexcept] bool operator==(const QWaylandBufferRef &lhs, const QWaylandBufferRef &rhs)

Gibt true zurück, wenn lhs auf denselben Puffer wie rhs verweist. Andernfalls wird false zurückgegeben.

© 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.