The QWaylandCompositor class manages the Wayland display server. 更多...
头: | #include <QWaylandCompositor> |
qmake: | QT += waylandcompositor |
Since: | Qt 5.8 |
继承: | QWaylandObject |
|
|
QWaylandCompositor (QObject * parent = nullptr) | |
virtual | ~QWaylandCompositor () override |
void | addSocketDescriptor (int fd ) |
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 | setDefaultOutput (QWaylandOutput * output ) |
void | setRetainedSelectionEnabled (bool enabled ) |
void | setSocketName (const QByteArray & name ) |
void | setUseHardwareIntegrationExtension (bool 使用 ) |
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 () |
const QMetaObject | staticMetaObject |
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.
This property is true if QWaylandCompositor has been initialized, otherwise it's false.
访问函数:
bool | isCreated () const |
通知程序信号:
void | createdChanged () |
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 ) |
通知程序信号:
void | defaultOutputChanged () |
This property contains the default seat for this QWaylandCompositor .
访问函数:
QWaylandSeat * | defaultSeat () const |
通知程序信号:
void | defaultSeatChanged (QWaylandSeat * newDevice , QWaylandSeat * oldDevice ) |
This property holds whether retained selection is enabled.
访问函数:
bool | retainedSelectionEnabled () const |
void | setRetainedSelectionEnabled (bool enabled ) |
通知程序信号:
void | retainedSelectionChanged (bool retainedSelection ) |
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
在默认情况下。
访问函数:
QByteArray | socketName () const |
void | setSocketName (const QByteArray & name ) |
通知程序信号:
void | socketNameChanged (const QByteArray & socketName ) |
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 使用 ) |
通知程序信号:
void | useHardwareIntegrationExtensionChanged () |
构造 QWaylandCompositor 采用给定 parent .
[override virtual]
QWaylandCompositor::
~QWaylandCompositor
()
Listen for client connections on a file descriptor referring to a server socket already bound and listening.
Does not take ownership of the file descriptor; it must be closed explicitly if needed.
注意: This method is only available with libwayland 1.10.0 or newer. If built against an earlier libwayland runtime, this method is a noop.
该函数在 Qt 5.12 引入。
注意: 此函数可以被援引,通过元对象系统和从 QML。见 Q_INVOKABLE .
[虚拟]
void
QWaylandCompositor::
create
()
初始化 QWaylandCompositor . If you override this function in your subclass, be sure to call the base class implementation.
销毁 client .
注意: 此函数可以被援引,通过元对象系统和从 QML。见 Q_INVOKABLE .
Destroys the client for the surface .
注意: 此函数可以被援引,通过元对象系统和从 QML。见 Q_INVOKABLE .
[虚拟]
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.
注意: You should not call this manually, but rather use QWaylandSurfaceGrabber ( grabber ).
[signal]
void
QWaylandCompositor::
outputAdded
(
QWaylandOutput
*
output
)
返回 QWaylandOutput that is connected to the given window .
注意: 此函数可以被援引,通过元对象系统和从 QML。见 Q_INVOKABLE .
[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
)
This signal is emitted when a new QWaylandSurface instance has been created.
[signal]
void
QWaylandCompositor::
surfaceRequested
(
QWaylandClient
*
client
,
uint
id
,
int
version
)
This signal is emitted when a client has created a surface. The slot connecting to this signal may create and initialize a QWaylandSurface instance in the scope of the slot. Otherwise a default surface is created.
Connections to this signal must be of Qt::DirectConnection connection type.