QWaylandBufferRef 类
QWaylandBufferRef 类存储了对表面缓冲区的引用。 更多信息...
头文件 | #include <QWaylandBufferRef> |
CMake | find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor) target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor) |
qmake | QT += waylandcompositor |
公共函数
QWaylandBufferRef() | |
QWaylandBufferRef(const QWaylandBufferRef &$i) | |
~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 &$i) |
相关非成员
bool | operator!=(const QWaylandBufferRef &$lhs, const QWaylandBufferRef &$rhs) |
bool | operator==(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。
[自 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. 在芬兰和其他国家/地区的商标。所有其他商标均为各自所有权者的财产。