Класс QWaylandCompositor
Класс QWaylandCompositor управляет сервером отображения Wayland. Подробнее...
| Заголовок: | #include <QWaylandCompositor> |
| CMake: | find_package(Qt6 COMPONENTS Waylandcompositor REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Waylandcompositor) |
| qmake: | QT += waylandcompositor |
| С тех пор: | Qt 5.8 |
| Наследует: | QWaylandObject |
Свойства
|
|
Открытые функции
| QWaylandCompositor(QObject *parent = nullptr) | |
| virtual | ~QWaylandCompositor() override |
| void | addSocketDescriptor(int fd) |
| QVector<QWaylandCompositor::ShmFormat> | additionalShmFormats() const |
| virtual void | create() |
| QWaylandOutput * | defaultOutput() const |
| QWaylandSeat * | defaultSeat() const |
| void | destroyClient(QWaylandClient *client) |
| void | destroyClientForSurface(QWaylandSurface *surface) |
| virtual void | grabSurface(QWaylandSurfaceGrabber *grabber, const QWaylandBufferRef &buffer) |
| bool | isCreated() const |
| QWaylandOutput * | outputFor(QWindow *window) const |
| bool | retainedSelectionEnabled() const |
| void | setAdditionalShmFormats(const QVector<QWaylandCompositor::ShmFormat> &additionalShmFormats) |
| void | setDefaultOutput(QWaylandOutput *output) |
| void | setRetainedSelectionEnabled(bool enabled) |
| void | setSocketName(const QByteArray &name) |
| void | setUseHardwareIntegrationExtension(bool use) |
| QByteArray | socketName() const |
| bool | useHardwareIntegrationExtension() const |
Сигналы
| void | additionalShmFormatsChanged() |
| void | createdChanged() |
| void | defaultOutputChanged() |
| void | defaultSeatChanged(QWaylandSeat *newDevice, QWaylandSeat *oldDevice) |
| void | retainedSelectionChanged(bool retainedSelection) |
| void | socketNameChanged(const QByteArray &socketName) |
| void | surfaceCreated(QWaylandSurface *surface) |
| void | surfaceRequested(QWaylandClient *client, uint id, int version) |
| void | useHardwareIntegrationExtensionChanged() |
Подробное описание
Класс QWaylandCompositor управляет подключениями к клиентам, а также различными выводами и местами.
Обычно приложение-композитор имеет один экземпляр WaylandCompositor, который может иметь несколько выводов в качестве дочерних элементов.
Документация свойств
[since 6.0] additionalShmFormats : QVector<ShmFormat>
Это свойство содержит список дополнительных форматов wl_shm, рекламируемых как поддерживаемые композитором.
По умолчанию, перечислены только необходимые форматы ShmFormat_ARGB8888 и ShmFormat_XRGB8888, и этот список будет пустым.
Это свойство должно быть установлено до создания композитора create. Последующие изменения не повлияют.
Это свойство было введено в Qt 6.0.
Функции доступа:
| QVector<QWaylandCompositor::ShmFormat> | additionalShmFormats() const |
| void | setAdditionalShmFormats(const QVector<QWaylandCompositor::ShmFormat> &additionalShmFormats) |
Сигнал уведомления:
| void | additionalShmFormatsChanged() |
[read-only] created : const bool
Это свойство равно true, если QWaylandCompositor был инициализирован, в противном случае оно равно false.
Функции доступа:
| bool | isCreated() const |
Сигнал уведомления:
| void | createdChanged() |
defaultOutput : QWaylandOutput*
Это свойство содержит первый в списке выводов, добавленных в QWaylandCompositor, или null, если выводы не были добавлены.
Установка нового значения для свойства вывода помещает его в начало списка выводов, делая его новым значением по умолчанию, но предыдущее значение по умолчанию не удаляется из списка. Если новый вывод по умолчанию уже присутствует в списке выводов, он перемещается в начало списка.
Функции доступа:
| QWaylandOutput * | defaultOutput() const |
| void | setDefaultOutput(QWaylandOutput *output) |
Сигнал уведомления:
| void | defaultOutputChanged() |
[read-only] defaultSeat : QWaylandSeat* const
Это свойство содержит стандартное место для этого QWaylandCompositor.
Функции доступа:
| QWaylandSeat * | defaultSeat() const |
Сигнал уведомления:
| void | defaultSeatChanged(QWaylandSeat *newDevice, QWaylandSeat *oldDevice) |
retainedSelection : bool
Это свойство указывает, включена ли функция сохранения выделения.
Функции доступа:
| bool | retainedSelectionEnabled() const |
| void | setRetainedSelectionEnabled(bool enabled) |
Сигнал уведомления:
| void | retainedSelectionChanged(bool retainedSelection) |
socketName : QByteArray
Это свойство содержит имя сокета, используемое QWaylandCompositor для связи с клиентами. Это свойство должно быть установлено до вызова create композитора.
Если socketName пустое (значение по умолчанию), используется содержимое аргумента start --wayland-socket-name. Если этот аргумент не задан, композитор пытается найти имя сокета, которое равно wayland-0 по умолчанию.
Функции доступа:
| QByteArray | socketName() const |
| void | setSocketName(const QByteArray &name) |
Сигнал уведомления:
| void | socketNameChanged(const QByteArray &socketName) |
useHardwareIntegrationExtension : bool
Это свойство указывает, следует ли включить расширение интеграции аппаратного обеспечения для данного QWaylandCompositor.
Это свойство должно быть установлено до вызова create композитора.
Функции доступа:
| bool | useHardwareIntegrationExtension() const |
| void | setUseHardwareIntegrationExtension(bool use) |
Сигнал уведомления:
| void | useHardwareIntegrationExtensionChanged() |
Документация функций-членов
QWaylandCompositor::QWaylandCompositor(QObject *parent = nullptr)
Создаёт QWaylandCompositor с заданным parent.
[signal] void QWaylandCompositor::surfaceCreated(QWaylandSurface *surface)
Этот сигнал испускается, когда создан новый экземпляр QWaylandSurface surface.
[signal] void QWaylandCompositor::surfaceRequested(QWaylandClient *client, uint id, int version)
Этот сигнал испускается, когда client создал поверхность с id id. Также доступна версия интерфейса version.
Включающаяся в этот сигнал функция может создать и инициализировать экземпляр QWaylandSurface в области действия функции. В противном случае создаётся поверхность по умолчанию.
Подключения к этому сигналу должны иметь тип подключения Qt::DirectConnection.
[override virtual] QWaylandCompositor::~QWaylandCompositor()
Уничтожает QWaylandCompositor.
[since 5.12] void QWaylandCompositor::addSocketDescriptor(int fd)
Прослушивает подключения клиентов по дескриптору файла fd, относящемуся уже связанному и прослушивающему сокету сервера.
Не принимает владение дескриптором файла; он должен быть закрыт явно, если это необходимо.
Примечание: Этот метод доступен только с libwayland 1.10.0 или новее. Если построено с более ранним libwayland, этот метод является пустой операцией.
Примечание: Эта функция может быть вызвана через систему метаобъектов и из QML. См. Q_INVOKABLE.
Эта функция была введена в Qt 5.12.
[virtual] void QWaylandCompositor::create()
Инициализирует QWaylandCompositor. Если переопределите эту функцию в своём подклассе, обязательно вызовите базовый класс.
void QWaylandCompositor::destroyClient(QWaylandClient *client)
Уничтожает client.
Примечание: Эта функция может быть вызвана через систему метаобъектов и из QML. См. Q_INVOKABLE.
void QWaylandCompositor::destroyClientForSurface(QWaylandSurface *surface)
Уничтожает клиента для поверхности surface.
Примечание: Эта функция может быть вызвана через систему метаобъектов и из QML. См. Q_INVOKABLE.
[virtual] void QWaylandCompositor::grabSurface(QWaylandSurfaceGrabber *grabber, const QWaylandBufferRef &buffer)
Получите содержимое поверхности из данного буфера. Базовое реализация требует, чтобы контекст OpenGL был привязан к текущему потоку для работы. Если это невозможно, переопределите эту функцию в вашем подклассе композитора, чтобы реализовать пользовательскую логику. Базовая реализация захватывает только общую память и буферы OpenGL, переопределите её в вашем подклассе композитора для обработки других типов буферов.
Примечание: Не следует вызывать эту функцию вручную, а следует использовать QWaylandSurfaceGrabber (grabber).
QWaylandOutput *QWaylandCompositor::outputFor(QWindow *window) const
Возвращает QWaylandOutput, подключенный к данному окну.
Примечание: Эта функция может вызываться через систему метаобъектов и из QML. См. Q_INVOKABLE.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qwaylandcompositor.html