Класс QWaylandSurface
Класс QWaylandSurface представляет прямоугольную область на устройстве вывода. Подробнее...
| Заголовок: | #include <QWaylandSurface> |
| CMake: | find_package(Qt6 COMPONENTS Waylandcompositor REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Waylandcompositor) |
| qmake: | QT += waylandcompositor |
| С момента: | Qt 5.8 |
| Инициализируется: | WaylandSurface |
| Наследует: | QWaylandObject |
Открытые типы
| перечисление | Origin { OriginTopLeft, OriginBottomLeft } |
Свойства
|
|
Открытые функции
| QWaylandSurface(QWaylandCompositor *compositor, QWaylandClient *client, uint id, int version) | |
| QWaylandSurface() | |
| virtual | ~QWaylandSurface() override |
| int | bufferScale() const |
| QSize | bufferSize() const |
| QWaylandClient * | client() const |
| QWaylandCompositor * | compositor() const |
| Qt::ScreenOrientation | contentOrientation() const |
| QSize | destinationSize() const |
| void | destroy() |
| void | frameStarted() |
| bool | hasContent() const |
| bool | inhibitsIdle() const |
| void | initialize(QWaylandCompositor *compositor, QWaylandClient *client, uint id, int version) |
| bool | inputRegionContains(const QPoint &p) const |
| bool | inputRegionContains(const QPointF &position) const |
| bool | isCursorSurface() const |
| bool | isDestroyed() const |
| bool | isInitialized() const |
| void | markAsCursorSurface(bool cursorSurface) |
| QWaylandSurface::Origin | origin() const |
| QWaylandView * | primaryView() const |
| struct wl_resource * | resource() const |
| void | sendFrameCallbacks() |
| void | setPrimaryView(QWaylandView *view) |
| bool | setRole(QWaylandSurfaceRole *role, wl_resource *errorResource, uint32_t errorCode) |
| QRectF | sourceGeometry() const |
| QList<QWaylandView *> | views() const |
| ::wl_client * | waylandClient() const |
Открытые слоты
| void | updateSelection() |
Сигналы
| void | изменениеМасштабаБуфера() |
| void | изменениеРазмерыБуфера() |
| void | добавленоПодчинённое(QWaylandSurface *child) |
| void | изменениеОриентацииСодержимого() |
| void | изменениеПоверхностиКурсора() |
| void | изменениеРазмерыЦелевойОбласти() |
| void | началоПеретаскивания(QWaylandDrag *drag) |
| void | изменениеНаличияСодержимого() |
| void | изменениеЗапретаПростоя() |
| void | изменениеНачала() |
| void | изменениеГеометрииИсточника() |
| void | поверхностьУничтожена() |
Статические открытые члены
| QWaylandSurface * | изРесурса(::wl_resource *resource) |
Подробное описание
Этот класс инкапсулирует прямоугольную область пикселей, отображаемую на устройстве вывода. Он соответствует интерфейсу wl_surface в протоколе Wayland.
Документация по типам членов
перечисление QWaylandSurface::Origin
Этот тип перечисления используется для указания источника буфера QWaylandSurface.
| Константа | Значение | Описание |
|---|---|---|
QWaylandSurface::OriginTopLeft |
0 |
Источник — верхний левый угол буфера. |
QWaylandSurface::OriginBottomLeft |
1 |
Источник — нижний левый угол буфера. |
Документация свойств
[read-only] bufferScale : const int
Это свойство содержит масштаб буфера QWaylandSurface. Масштаб буфера позволяет клиенту предоставлять данные буфера с более высоким разрешением для использования на выходах с высоким разрешением.
Функции доступа:
| int | bufferScale() const |
Сигнал уведомления:
| void | bufferScaleChanged() |
[read-only] bufferSize : const QSize
Это свойство содержит размер текущего буфера этого QWaylandSurface в пикселях, а не в координатах поверхности.
Для размера в координатах поверхности используйте свойство destinationSize.
Функции доступа:
| QSize | bufferSize() const |
Сигнал уведомления:
| void | bufferSizeChanged() |
См. также destinationSize и bufferScale.
[read-only] client : QWaylandClient* const
Это свойство содержит клиента, использующего этот QWaylandSurface.
Функции доступа:
| QWaylandClient * | client() const |
[read-only] contentOrientation : const Qt::ScreenOrientation
Это свойство содержит ориентацию содержимого QWaylandSurface.
Функции доступа:
| Qt::ScreenOrientation | contentOrientation() const |
Сигнал уведомления:
| void | contentOrientationChanged() |
См. также QWaylandOutput::transform.
cursorSurface : bool
Это свойство содержит информацию о том, является ли QWaylandSurface поверхностью курсора.
Функции доступа:
| bool | isCursorSurface() const |
| void | markAsCursorSurface(bool cursorSurface) |
Сигнал уведомления:
| void | cursorSurfaceChanged() |
[read-only, since 5.13] destinationSize : const QSize
Это свойство содержит размер WaylandSurface в координатах поверхности.
Это свойство было добавлено в Qt 5.13.
Функции доступа:
| QSize | destinationSize() const |
Сигнал уведомления:
| void | destinationSizeChanged() |
См. также bufferScale и bufferSize.
[read-only] hasContent : const bool
Это свойство содержит информацию о том, содержит ли QWaylandSurface содержимое.
Функции доступа:
| bool | hasContent() const |
Сигнал уведомления:
| void | hasContentChanged() |
[read-only, since 5.14] inhibitsIdle : const bool
Это свойство содержит информацию о том, предназначена ли эта поверхность для запрета поведения в режиме ожидания композитора, такого как выключение экрана, блокировка и сохранение экрана.
Это свойство было добавлено в Qt 5.14.
Функции доступа:
| bool | inhibitsIdle() const |
Сигнал уведомления:
| void | inhibitsIdleChanged() |
См. также QWaylandIdleInhibitManagerV1.
[read-only] origin : const QWaylandSurface::Origin
Это свойство содержит источник буфера QWaylandSurface или QWaylandSurface::OriginTopLeft, если у поверхности нет буфера.
Функции доступа:
| QWaylandSurface::Origin | origin() const |
Сигнал уведомления:
| void | originChanged() |
[read-only, since 5.13] sourceGeometry : const QRectF
Это свойство описывает часть присоединённого QWaylandBuffer, которая должна быть нарисована на экране. Координаты отсчитываются от угла буфера и масштабируются с помощью bufferScale.
Это свойство было добавлено в Qt 5.13.
Функции доступа:
| QRectF | sourceGeometry() const |
Сигнал уведомления:
| void | sourceGeometryChanged() |
См. также bufferScale, bufferSize и destinationSize.
Документация функций-членов
QWaylandSurface::QWaylandSurface(QWaylandCompositor *compositor, QWaylandClient *client, uint id, int version)
Создаёт и инициализирует QWaylandSurface для заданного compositor и client, а также с заданным id и version.
QWaylandSurface::QWaylandSurface()
Создаёт неинициализированный QWaylandSurface.
[signal] void QWaylandSurface::childAdded(QWaylandSurface *child)
Этот сигнал испускается, когда wl_subsurface, child, был добавлен к поверхности.
[signal] void QWaylandSurface::dragStarted(QWaylandDrag *drag)
Этот сигнал испускается, когда начался перенос drag с этой поверхности.
[signal] void QWaylandSurface::surfaceDestroyed()
Этот сигнал испускается при уничтожении соответствующего wl_surface.
[slot] void QWaylandSurface::updateSelection()
Обновляет поверхность с помощью сохранённого выбором буфера обмена композитора. Хотя это делается автоматически, когда поверхность получает фокус клавиатуры, эта функция полезна для обновления клиентов, у которых нет фокуса клавиатуры.
[override virtual] QWaylandSurface::~QWaylandSurface()
Уничтожает QWaylandSurface.
QWaylandCompositor *QWaylandSurface::compositor() const
Возвращает композитор для данного QWaylandSurface.
[invokable] void QWaylandSurface::destroy()
Уничтожает QWaylandSurface.
Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.
[invokable] void QWaylandSurface::frameStarted()
Подготавливает все обратные вызовы кадра для отправки.
Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.
[static] QWaylandSurface *QWaylandSurface::fromResource(::wl_resource *resource)
Возвращает QWaylandSurface, соответствующий Wayland-ресурсу resource.
[invokable] void QWaylandSurface::initialize(QWaylandCompositor *compositor, QWaylandClient *client, uint id, int version)
Инициализирует QWaylandSurface с заданным compositor и client, а также с заданным id и version.
Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.
bool QWaylandSurface::inputRegionContains(const QPoint &p) const
Возвращает true если область ввода QWaylandSurface содержит точку p. В противном случае возвращает false.
[since 5.14] bool QWaylandSurface::inputRegionContains(const QPointF &position) const
Возвращает true если область ввода QWaylandSurface содержит точку position. В противном случае возвращает false.
Данная функция была добавлена в Qt 5.14.
[invokable] bool QWaylandSurface::isDestroyed() const
Возвращает true, если QWaylandSurface был уничтожен. В противном случае возвращает false.
Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.
bool QWaylandSurface::isInitialized() const
Возвращает true, если QWaylandSurface был инициализирован.
QWaylandView *QWaylandSurface::primaryView() const
Возвращает основной вид данного QWaylandSurface.
См. также QWaylandView::advance() и QWaylandSurface::setPrimaryView().
struct wl_resource *QWaylandSurface::resource() const
Возвращает Wayland-ресурс, соответствующий данному QWaylandSurface.
[invokable] void QWaylandSurface::sendFrameCallbacks()
Отправляет ожидающие обратные вызовы кадра.
Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.
void QWaylandSurface::setPrimaryView(QWaylandView *view)
Устанавливает основной вид данного QWaylandSurface в view, если имеется несколько представлений этой поверхности. Основной вид управляет частотой обновления клиента. Он отвечает за удаление ссылок на буферы при вызове QWaylandView::advance(). Более подробную информацию см. в документации к QWaylandView::advance().
В интеграциях поверхностей оболочки, таких как QWaylandWlShellIntegration и QWaylandXdgShellV5Integration, запросы максимального размера и полноэкранного режима от клиента будут иметь эффект только если у интеграции есть основной вид поверхности.
См. также primaryView() и QWaylandView::advance().
bool QWaylandSurface::setRole(QWaylandSurfaceRole *role, wl_resource *errorResource, uint32_t errorCode)
Устанавливает role на поверхности. Роль определяет, как поверхность будет отображаться на экране; без роли поверхность считается скрытой. Одновременно на поверхности может быть установлена только одна роль. Хотя установка одной и той же роли многократно разрешена, попытка изменить роль поверхности вызовет протокольный ошибку в errorResource и отправит errorCode клиенту.
Возвращает true, если роль может быть назначена; в противном случае возвращает false.
QList<QWaylandView *> QWaylandSurface::views() const
Возвращает представления для данного QWaylandSurface.
::wl_client *QWaylandSurface::waylandClient() const
Содержит wl_client использующего этот QWaylandSurface.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qwaylandsurface.html