QWaylandBufferRef 类

QWaylandBufferRef 类存储了对表面缓冲区的引用。 更多信息...

头文件 #include <QWaylandBufferRef>
CMakefind_package(Qt6 REQUIRED COMPONENTS WaylandCompositor)
target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor)
qmakeQT += waylandcompositor

公共函数

QWaylandBufferRef()
QWaylandBufferRef(const QWaylandBufferRef &$i)
~QWaylandBufferRef()
boolhasBuffer() const
boolhasContent() const
(since 6.2) boolhasProtectedContent() const
QImageimage() const
boolisDestroyed() const
boolisNull() const
boolisSharedMemory() const
quintptrlockNativeBuffer()
QWaylandSurface::Originorigin() const
QSizesize() const
QOpenGLTexture *toOpenGLTexture(int plane = 0) const
voidunlockNativeBuffer(quintptr handle)
struct wl_resource *wl_buffer() const
QWaylandBufferRef &operator=(const QWaylandBufferRef &$i)
booloperator!=(const QWaylandBufferRef &$lhs, const QWaylandBufferRef &$rhs)
booloperator==(const QWaylandBufferRef &$lhs, const QWaylandBufferRef &$rhs)

详细说明

此类可用于引用表面缓冲区。只要存在对缓冲区的引用,它就由合成器拥有,客户端不能修改它。

成员函数文档

QWaylandBufferRef::QWaylandBufferRef()

构建一个空缓冲区引用。

QWaylandBufferRef::QWaylandBufferRef(const QWaylandBufferRef &$i)

创建对一个由 ref 引用的缓冲区的新引用。

[noexcept] QWaylandBufferRef::~QWaylandBufferRef()

取消引用缓冲区。

bool QWaylandBufferRef::hasBuffer() const

如果此 QWaylandBufferRef 引用了一个缓冲区,则返回 true。否则返回 false。

另请参阅isNull() 和 hasContent()。

bool QWaylandBufferRef::hasContent() const

如果此 QWaylandBufferRef 引用一个包含内容的缓冲区,则返回 true。否则返回 false。

另请参阅isNull() 和 hasBuffer()。

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

如果此 QWaylandBufferRef 引用一个包含受保护内容的缓冲区,则返回 true。否则返回 false。

注意:这是一个启用器,它假定客户端缓冲区集成支持。目前包含在 Qt 中的所有客户端缓冲区集成都不支持受保护内容缓冲区。

此功能是在 Qt 6.2 中引入的。

另请参阅hasContent()。

QImage QWaylandBufferRef::image() const

返回包含缓冲区内容的图像。

bool QWaylandBufferRef::isDestroyed() const

如果此 QWaylandBufferRef 引用一个已销毁的缓冲区,则返回 true。否则返回 false。

bool QWaylandBufferRef::isNull() const

如果此 QWaylandBufferRef 不引用缓冲区,则返回 true。否则返回 false。

另请参阅hasBuffer() 和 hasContent()。

bool QWaylandBufferRef::isSharedMemory() const

如果缓冲区是共享内存缓冲区,则返回 true。否则返回 false。

quintptr QWaylandBufferRef::lockNativeBuffer()

返回此缓冲区的本地句柄,并将其标记为锁定,以便在调用 unlockNativeBuffer() 之前不会释放。

如果没有此缓冲区的本地句柄,或锁定操作失败,则返回 0。

QWaylandSurface::Origin QWaylandBufferRef::origin() const

返回缓冲区的起源。如果引用的缓冲区为 null,则返回 QWaylandSurface::OriginBottomLeft

QSize QWaylandBufferRef::size() const

返回缓冲区的大小。如果引用的缓冲区为 null,则返回无效的 QSize

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

返回缓冲区的 OpenGL 纹理。 plane 是用于多平面格式(如 YUV)的索引。

返回的纹理归缓冲区所有。纹理仅在缓冲区引用存在的期间有效。此函数的调用者不得删除纹理,并必须在纹理被使用期间保持对缓冲区的引用。

如果没有有效的缓冲区或无法创建纹理,则返回 nullptr

void QWaylandBufferRef::unlockNativeBuffer(quintptr handle)

将本地缓冲区标记为不再使用。handle 必须与之前通过对 lockNativeBuffer() 的调用返回的值相对应。

struct wl_resource *QWaylandBufferRef::wl_buffer() const

返回缓冲区的 Wayland 资源。

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

ref 分配给此缓冲区并将其引用数加一。先前引用的缓冲区的引用数减一。

相关非成员函数

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

如果 lhs 引用了与 rhs 相同的缓冲区,则返回 false。否则返回 true

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

如果 lhs 引用了与 rhs 相同的缓冲区,则返回 true。否则返回 false

© 2024 The Qt Company Ltd. 本文档的归档贡献者是各自所有权者的版权。本提供的文档是根据自由软件基金会发布的 GNU 自由文档许可证版本 1.3 许可的。Qt 和相关的标志是 The Qt Company Ltd. 在芬兰和其他国家/地区的商标。所有其他商标均为各自所有权者的财产。