Класс 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.2/qwaylandview.html