Класс 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 |
| Создается: | WaylandCompositor |
| Наследует: | 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, который может иметь несколько выводов в качестве дочерних элементов.
END_OF_DOCUMENT_MARKERДокументация по свойствам
[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, если выходы не были добавлены.
Установка нового значения для свойства defaultOutput помещает его в начало списка выходов, делая его новым значением по умолчанию, но предыдущий элемент по умолчанию не удаляется из списка. Если новый выход по умолчанию уже присутствует в списке выходов, он перемещается в начало списка.
Функции доступа:
| QWaylandOutput * | defaultOutput() const |
| void | setDefaultOutput(QWaylandOutput *output) |
Сигнал уведомления:
| void | defaultOutputChanged() |
[read-only] defaultSeat : QWaylandSeat* const
Это свойство содержит дефолтный элемент seat для этого QWaylandCompositor.
Функции доступа:
| QWaylandSeat * | defaultSeat() const |
Сигнал уведомления:
| void | defaultSeatChanged(QWaylandSeat *newDevice, QWaylandSeat *oldDevice) |
retainedSelection : bool
Это свойство указывает, включена ли функция retained selection.
Функции доступа:
| bool | retainedSelectionEnabled() const |
| void | setRetainedSelectionEnabled(bool enabled) |
Сигнал уведомления:
| void | retainedSelectionChanged(bool retainedSelection) |
socketName : QByteArray
Это свойство содержит имя сокета, используемого QWaylandCompositor для связи с клиентами. Оно должно быть установлено перед созданием QWaylandCompositor.
Если socketName пустое (значение по умолчанию), используется содержимое аргумента start --wayland-socket-name. Если аргумент не задан, композитор пытается найти имя сокета, которое по умолчанию равно wayland-0.
Функции доступа:
| QByteArray | socketName() const |
| void | setSocketName(const QByteArray &name) |
Сигнал уведомления:
| void | socketNameChanged(const QByteArray &socketName) |
useHardwareIntegrationExtension : bool
Это свойство указывает, следует ли включать расширение hardware integration для этого 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.
[invokable, 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. Если вы переопределяете эту функцию в своём подклассе, убедитесь, что вызывается базовая реализация.
[invokable] void QWaylandCompositor::destroyClient(QWaylandClient *client)
Удаляет client.
Примечание: Эта функция может вызываться через систему мета-объектов и из QML. См. Q_INVOKABLE.
[invokable] void QWaylandCompositor::destroyClientForSurface(QWaylandSurface *surface)
Удаляет клиент для surface.
Примечание: Эта функция может вызываться через систему мета-объектов и из QML. См. Q_INVOKABLE.
[virtual] void QWaylandCompositor::grabSurface(QWaylandSurfaceGrabber *grabber, const QWaylandBufferRef &buffer)
Извлеките содержимое поверхности из заданного буфера. По умолчанию реализация требует, чтобы контекст OpenGL был привязан к текущему потоку для работы. Если это невозможно, переопределите эту функцию в вашем подклассе композитора, чтобы реализовать пользовательскую логику. По умолчанию реализация извлекает только общую память и буферы OpenGL, переопределите её в подклассе композитора, чтобы обработать больше типов буферов.
Примечание: Не следует вызывать эту функцию вручную, а использовать QWaylandSurfaceGrabber (grabber).
[invokable] 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.1/qwaylandcompositor.html