Класс 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) |
Открытые слоты
| void | updateSelection() |
Сигналы
| void | изменениеМасштабаБуфера() |
| void | изменение размера буфера() |
| void | добавлениеПоддочернегоЭлемента(QWaylandSurface *child) |
| void | изменение ориентации содержимого() |
| void | изменение поверхности курсора() |
| void | изменение размера назначения() |
| void | началоперетаскивания(QWaylandDrag *drag) |
| void | изменение наличия содержимого() |
| void | изменение запрета на простаивание() |
| void | изменение начала() |
| void | изменение геометрии источника() |
| void | поверхность уничтожена() |
Статические открытые члены
| QWaylandSurface * | fromResource(::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.1/qwaylandsurface.html