Класс 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 |
| 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 |
| 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().
bool QWaylandBufferRef::hasProtectedContent() const
Возвращает true, если этот QWaylandBufferRef ссылается на буфер с защищенным содержимым. В противном случае возвращает false.
Примечание: Это параметр, который предполагает поддержку в интегрировании клиентского буфера. Ни одна из интегрированных клиентских буферов Qt в настоящее время не поддерживает буферы с защищенным содержимым.
Эта функция была добавлена в Qt 6.2.
См. также hasContent().
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.2/qwaylandbufferref.html