QWaylandCompositor Class

The QWaylandCompositor class manages the Wayland display server. 更多...

头文件: #include <QWaylandCompositor>
qmake: QT += waylandcompositor
开始支持版本: Qt 5.8
基类: QWaylandObject

属性

公有函数

QWaylandCompositor(QObject *parent = nullptr)
virtual ~QWaylandCompositor()
virtual void create()
QWaylandView *createSurfaceView(QWaylandSurface *surface)
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 setDefaultOutput(QWaylandOutput *output)
void setRetainedSelectionEnabled(bool enabled)
void setSocketName(const QByteArray &name)
void setUseHardwareIntegrationExtension(bool use)
QByteArray socketName() const
bool useHardwareIntegrationExtension() const

信号

void createdChanged()
void defaultOutputChanged()
void defaultSeatChanged(QWaylandSeat *newDevice, QWaylandSeat *oldDevice)
void outputAdded(QWaylandOutput *output)
void outputRemoved(QWaylandOutput *output)
void retainedSelectionChanged(bool retainedSelection)
void socketNameChanged(const QByteArray &socketName)
void subsurfaceChanged(QWaylandSurface *child, QWaylandSurface *parent)
void surfaceAboutToBeDestroyed(QWaylandSurface *surface)
void surfaceCreated(QWaylandSurface *surface)
void surfaceRequested(QWaylandClient *client, uint id, int version)
void useHardwareIntegrationExtensionChanged()

详细描述

The QWaylandCompositor class manages the Wayland display server.

The QWaylandCompositor manages the connections to the clients, as well as the different outputs and seats.

Normally, a compositor application will have a single WaylandCompositor instance, which can have several outputs as children.

属性

created : const bool

This property is true if QWaylandCompositor has been initialized, otherwise it's false.

访问函数:

bool isCreated() const

Notifier signal:

void createdChanged()

defaultOutput : QWaylandOutput *

This property contains the first in the list of outputs added to the QWaylandCompositor, or null if no outputs have been added.

Setting a new default output prepends it to the output list, making it the new default, but the previous default is not removed from the list. If the new default output was already in the list of outputs, it is moved to the beginning of the list.

访问函数:

QWaylandOutput *defaultOutput() const
void setDefaultOutput(QWaylandOutput *output)

Notifier signal:

void defaultOutputChanged()

defaultSeat : QWaylandSeat * const

This property contains the default seat for this QWaylandCompositor.

访问函数:

QWaylandSeat *defaultSeat() const

Notifier signal:

void defaultSeatChanged(QWaylandSeat *newDevice, QWaylandSeat *oldDevice)

retainedSelection : bool

This property holds whether retained selection is enabled.

访问函数:

bool retainedSelectionEnabled() const
void setRetainedSelectionEnabled(bool enabled)

Notifier signal:

void retainedSelectionChanged(bool retainedSelection)

socketName : QByteArray

This property holds the socket name used by QWaylandCompositor to communicate with clients. This must be set before the QWaylandCompositor is created.

If the socketName is empty (the default), the contents of the start argument --wayland-socket-name are used instead. If the argument is not set, the compositor tries to find a socket name, which is wayland-0 by default.

访问函数:

QByteArray socketName() const
void setSocketName(const QByteArray &name)

Notifier signal:

void socketNameChanged(const QByteArray &socketName)

useHardwareIntegrationExtension : bool

This property holds whether the hardware integration extension should be enabled for this QWaylandCompositor.

This property must be set before the compositor is created.

访问函数:

bool useHardwareIntegrationExtension() const
void setUseHardwareIntegrationExtension(bool use)

Notifier signal:

void useHardwareIntegrationExtensionChanged()

成员函数

QWaylandCompositor::QWaylandCompositor(QObject *parent = nullptr)

Constructs a QWaylandCompositor with the given parent.

[virtual] QWaylandCompositor::~QWaylandCompositor()

Destroys the QWaylandCompositor

[virtual] void QWaylandCompositor::create()

Initializes the QWaylandCompositor. If you override this function in your subclass, be sure to call the base class implementation.

QWaylandView *QWaylandCompositor::createSurfaceView(QWaylandSurface *surface)

void QWaylandCompositor::destroyClient(QWaylandClient *client)

Destroys the client.

void QWaylandCompositor::destroyClientForSurface(QWaylandSurface *surface)

Destroys the client for the surface.

[virtual] void QWaylandCompositor::grabSurface(QWaylandSurfaceGrabber *grabber, const QWaylandBufferRef &buffer)

Grab the surface content from the given buffer. The default implementation requires a OpenGL context to be bound to the current thread to work. If this is not possible, reimplement this function in your compositor subclass to implement custom logic. The default implementation only grabs shared memory and OpenGL buffers, reimplement this in your compositor subclass to handle more buffer types.

Note: You should not call this manually, but rather use QWaylandSurfaceGrabber (grabber).

[signal] void QWaylandCompositor::outputAdded(QWaylandOutput *output)

QWaylandOutput *QWaylandCompositor::outputFor(QWindow *window) const

Returns the QWaylandOutput that is connected to the given window.

[signal] void QWaylandCompositor::outputRemoved(QWaylandOutput *output)

[signal] void QWaylandCompositor::subsurfaceChanged(QWaylandSurface *child, QWaylandSurface *parent)

[signal] void QWaylandCompositor::surfaceAboutToBeDestroyed(QWaylandSurface *surface)

[signal] void QWaylandCompositor::surfaceCreated(QWaylandSurface *surface)

[signal] void QWaylandCompositor::surfaceRequested(QWaylandClient *client, uint id, int version)