Класс QWaylandView
Класс QWaylandView представляет собой представление поверхности на выводе. Подробнее...
| Заголовок: | #include <QWaylandView> |
| CMake: | find_package(Qt6 COMPONENTS Waylandcompositor REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Waylandcompositor) |
| qmake: | QT += waylandcompositor |
| С версии: | Qt 5.8 |
| Создаётся из: | WaylandView |
| Наследует: | QObject |
Свойства
- allowDiscardFrontBuffer : bool
- bufferLocked : bool
- output : QWaylandOutput*
- surface : QWaylandSurface*
Открытые функции
| QWaylandView(QObject *renderObject = nullptr, QObject *parent = nullptr) | |
| virtual | ~QWaylandView() override |
| virtual bool | advance() |
| bool | allowDiscardFrontBuffer() const |
| virtual void | bufferCommitted(const QWaylandBufferRef &buffer, const QRegion &damage) |
| virtual QWaylandBufferRef | currentBuffer() |
| virtual QRegion | currentDamage() |
| virtual void | discardCurrentBuffer() |
| bool | isBufferLocked() const |
| bool | isPrimary() const |
| QWaylandOutput * | output() const |
| void | setAllowDiscardFrontBuffer(bool discard) |
| void | setBufferLocked(bool locked) |
| void | setOutput(QWaylandOutput *output) |
| void | setPrimary() |
| void | setSurface(QWaylandSurface *surface) |
| QWaylandSurface * | surface() const |
| struct wl_resource * | surfaceResource() const |
Сигналы
| void | allowDiscardFrontBufferChanged() |
| void | bufferLockedChanged() |
| void | outputChanged() |
| void | surfaceChanged() |
Подробное описание
QWaylandView соответствует представлению поверхности на определённом выводе, управляя буферами, содержащими содержимое, подлежащее рендерингу. Вы можете иметь несколько представлений одной и той же поверхности.
Документация по свойствам
allowDiscardFrontBuffer : bool
По умолчанию, представление блокирует текущий буфер до вызова advance(). Установите это свойство в true чтобы разрешить Qt освободить буфер, когда первичное представление больше не использует его.
Это можно использовать для предотвращения ситуации, когда вторичное представление, обновляющееся с меньшей частотой, будет ограничивать частоту кадров клиентского приложения.
Функции доступа:
| bool | allowDiscardFrontBuffer() const |
| void | setAllowDiscardFrontBuffer(bool discard) |
Сигнал уведомления:
| void | allowDiscardFrontBufferChanged() |
bufferLocked : bool
Это свойство указывает, заблокирован ли буфер представления в данный момент. Когда буфер заблокирован, advance() не перейдёт к следующему буферу и вернёт false.
Значение по умолчанию false.
Функции доступа:
| bool | isBufferLocked() const |
| void | setBufferLocked(bool locked) |
Сигнал уведомления:
| void | bufferLockedChanged() |
output : QWaylandOutput*
Это свойство содержит вывод, на котором это представление отображает свою поверхность.
Функции доступа:
| QWaylandOutput * | output() const |
| void | setOutput(QWaylandOutput *output) |
Сигнал уведомления:
| void | outputChanged() |
surface : QWaylandSurface*
Это свойство содержит поверхность, отображаемую этим QWaylandView.
Функции доступа:
| QWaylandSurface * | surface() const |
| void | setSurface(QWaylandSurface *surface) |
Сигнал уведомления:
| void | surfaceChanged() |
Документация по функциям-членам
QWaylandView::QWaylandView(QObject *renderObject = nullptr, QObject *parent = nullptr)
Создаёт QWaylandView с заданным renderObject и parent.
[override virtual] QWaylandView::~QWaylandView()
Уничтожает QWaylandView.
[virtual] bool QWaylandView::advance()
Обновляет текущий буфер и область повреждений до последней версии, переданной клиентом. Возвращает true, если новое содержимое было передано с момента предыдущего вызова advance(). В противном случае возвращает false.
См. также currentBuffer() и currentDamage().
[virtual] void QWaylandView::bufferCommitted(const QWaylandBufferRef &buffer, const QRegion &damage)
Этот метод вызывается при добавлении нового буфера на поверхность этого представления. damage содержит область, которая отличается от текущего буфера, то есть область, которую нужно обновить. Новый буфер станет текущим при следующем вызове advance().
Подклассы, переопределяющие этот метод, обязаны вызывать базовый метод.
[virtual] QWaylandBufferRef QWaylandView::currentBuffer()
Возвращает ссылку на текущий буфер этого представления.
[virtual] QRegion QWaylandView::currentDamage()
Возвращает текущую область повреждения этого представления.
[virtual] void QWaylandView::discardCurrentBuffer()
Принудительно заставляет представление отбросить текущий буфер, чтобы он мог быть повторно использован на стороне клиента.
bool QWaylandView::isPrimary() const
Возвращает true, если это QWaylandView является основным представлением для QWaylandSurface
См. также QWaylandSurface::primaryView.
void QWaylandView::setPrimary()
Делает это QWaylandView основным представлением для поверхности.
Метод не имеет эффекта, если это QWaylandView не содержит QWaylandSurface.
См. также isPrimary() и QWaylandSurface::primaryView.
struct wl_resource *QWaylandView::surfaceResource() const
Возвращает ресурс Wayland поверхности для этого QWaylandView.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qwaylandview.html