Класс QWaylandBufferRef
Класс QWaylandBufferRef хранит ссылку на буфер поверхности. Подробнее...
| Заголовок: | #include <QWaylandBufferRef> |
| CMake: | find_package(Qt6 COMPONENTS Waylandcompositor REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Waylandcompositor) |
| qmake: | QT += waylandcompositor |
| С момента: | Qt 5.8 |
Открытые функции
| QWaylandBufferRef(const QWaylandBufferRef &ref) | |
| QWaylandBufferRef() | |
| QWaylandBufferRef & | operator=(const QWaylandBufferRef &ref) |
| ~QWaylandBufferRef() | |
| bool | hasBuffer() const |
| bool | hasContent() 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 |
| bool | operator!=(const QWaylandBufferRef &ref) |
| bool | operator==(const QWaylandBufferRef &ref) |
Подробное описание
Этот класс можно использовать для ссылки на буфер поверхности. Пока существует ссылка на буфер, он принадлежит композитору, и клиент не может его изменить.
Документация по функциям-членам
QWaylandBufferRef::QWaylandBufferRef(const QWaylandBufferRef &ref)
Создаёт новую ссылку на буфер, на который ссылается ref.
QWaylandBufferRef::QWaylandBufferRef()
Конструирует ссылку на пустой буфер.
QWaylandBufferRef &QWaylandBufferRef::operator=(const QWaylandBufferRef &ref)
Присваивает ref этому буферу и добавляет ссылку на него. Ранее ссылавшийся буфер де-референсируется.
QWaylandBufferRef::~QWaylandBufferRef()
Де-референсирует буфер.
bool QWaylandBufferRef::hasBuffer() const
Возвращает true, если этот QWaylandBufferRef ссылается на буфер. В противном случае возвращает false.
См. также isNull() и hasContent().
bool QWaylandBufferRef::hasContent() const
Возвращает true, если этот QWaylandBufferRef ссылается на буфер, содержащий данные. В противном случае возвращает false.
См. также isNull() и hasBuffer().
QImage QWaylandBufferRef::image() const
Возвращает изображение с содержимым буфера.
bool QWaylandBufferRef::isDestroyed() const
Возвращает true, если этот QWaylandBufferRef ссылается на буфер, который был уничтожен. В противном случае возвращает false.
bool QWaylandBufferRef::isNull() const
Возвращает true, если этот QWaylandBufferRef не ссылается на буфер. В противном случае возвращает false.
См. также hasBuffer() и hasContent().
bool QWaylandBufferRef::isSharedMemory() const
Возвращает true, если буфер является буфером совместной памяти. В противном случае возвращает false.
quintptr QWaylandBufferRef::lockNativeBuffer()
Возвращает системный идентификатор этого буфера и помечает его как заблокированный, так что он не будет освобождён до тех пор, пока не будет вызван unlockNativeBuffer().
Возвращает 0, если для этого буфера нет системного идентификатора или если блокировка не удалась.
QWaylandSurface::Origin QWaylandBufferRef::origin() const
Возвращает положение начала буфера. Если ссылающийся буфер пустой, возвращается QWaylandSurface::OriginBottomLeft.
QSize QWaylandBufferRef::size() const
Возвращает размер буфера. Если ссылающийся буфер пустой, возвращается недействительный 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 для буфера.
bool QWaylandBufferRef::operator!=(const QWaylandBufferRef &ref)
Возвращает false, если этот QWaylandBufferRef ссылается на тот же буфер, что и ref. В противном случае возвращает true.
bool QWaylandBufferRef::operator==(const QWaylandBufferRef &ref)
Возвращает true, если этот QWaylandBufferRef ссылается на тот же буфер, что и ref. В противном случае возвращает false.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qwaylandbufferref.html