Класс 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
Возвращает положение начала буфера. Если ссылаемый буфер 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-ресурс для буфера.
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.1/qwaylandbufferref.html