QWaylandWlShellSurface Class

The QWaylandWlShellSurface class provides desktop-style compositor-specific features to a surface. More...

Header: #include <QWaylandWlShellSurface>
qmake: QT += waylandcompositor
Since: Qt 5.8

Public Types

enum FullScreenMethod { DefaultFullScreen, ScaleFullScreen, DriverFullScreen, FillFullScreen }
enum ResizeEdge { NoneEdge, TopEdge, BottomEdge, LeftEdge, ..., BottomRightEdge }

Properties

Public Functions

QWaylandWlShellSurface()
QWaylandWlShellSurface(QWaylandWlShell *shell, QWaylandSurface *surface, const QWaylandResource &res)
~QWaylandWlShellSurface()
QString className() const
void initialize(QWaylandWlShell *shell, QWaylandSurface *surface, const QWaylandResource &resource)
void sendConfigure(const QSize &size, QWaylandWlShellSurface::ResizeEdge edges)
void sendPopupDone()
QWaylandWlShell *shell() const
QSize sizeForResize(const QSizeF &size, const QPointF &delta, QWaylandWlShellSurface::ResizeEdge edges)
QWaylandSurface *surface() const
QString title() const
Qt::WindowType windowType() const

Public Slots

void ping()

Signals

void classNameChanged()
void pong()
void setDefaultToplevel()
void setFullScreen(QWaylandWlShellSurface::FullScreenMethod method, uint framerate, QWaylandOutput *output)
void setMaximized(QWaylandOutput *output)
void setPopup(QWaylandSeat *seat, QWaylandSurface *parentSurface, const QPoint &relativeToParent)
void setTransient(QWaylandSurface *parentSurface, const QPoint &relativeToParent, bool inactive)
void shellChanged()
void startMove(QWaylandSeat *seat)
void startResize(QWaylandSeat *seat, QWaylandWlShellSurface::ResizeEdge edges)
void surfaceChanged()
void titleChanged()

Static Public Members

QWaylandWlShellSurface *fromResource(wl_resource *resource)
const struct wl_interface *interface()
QWaylandSurfaceRole *role()

Detailed Description

The QWaylandWlShellSurface class provides desktop-style compositor-specific features to a surface.

This class is part of the QWaylandWlShell extension and provides a way to extend the functionality of an existing QWaylandSurface with features specific to desktop-style compositors, such as resizing and moving the surface.

It corresponds to the Wayland interface wl_shell_surface.

Member Type Documentation

enum QWaylandWlShellSurface::FullScreenMethod

enum QWaylandWlShellSurface::ResizeEdge

This enum type provides a way to specify an edge or corner of the surface.

ConstantValueDescription
QWaylandWlShellSurface::NoneEdge0No edge.
QWaylandWlShellSurface::TopEdge1The top edge.
QWaylandWlShellSurface::BottomEdge2The bottom edge.
QWaylandWlShellSurface::LeftEdge4The left edge.
QWaylandWlShellSurface::TopLeftEdge5The top left corner.
QWaylandWlShellSurface::BottomLeftEdge6The bottom left corner.
QWaylandWlShellSurface::RightEdge8The right edge.
QWaylandWlShellSurface::TopRightEdge9The top right corner.
QWaylandWlShellSurface::BottomRightEdge10The bottom right corner.

Property Documentation

className : const QString

This property holds the class name of the QWaylandWlShellSurface.

Access functions:

QString className() const

Notifier signal:

void classNameChanged()

shell : QWaylandWlShell* const

This property holds the shell associated with this QWaylandWlShellSurface.

Access functions:

QWaylandWlShell *shell() const

Notifier signal:

void shellChanged()

surface : QWaylandSurface* const

This property holds the surface associated with this QWaylandWlShellSurface.

Access functions:

QWaylandSurface *surface() const

Notifier signal:

void surfaceChanged()

title : const QString

This property holds the title of the QWaylandWlShellSurface.

Access functions:

QString title() const

Notifier signal:

void titleChanged()

Member Function Documentation

QWaylandWlShellSurface::QWaylandWlShellSurface()

Constructs a QWaylandWlShellSurface.

QWaylandWlShellSurface::QWaylandWlShellSurface(QWaylandWlShell *shell, QWaylandSurface *surface, const QWaylandResource &res)

Constructs a QWaylandWlShellSurface for surface and initializes it with the given shell and resource res.

QWaylandWlShellSurface::~QWaylandWlShellSurface()

Destroys the instance of QWaylandWlShellSurface.

[static] QWaylandWlShellSurface *QWaylandWlShellSurface::fromResource(wl_resource *resource)

Returns the QWaylandWlShellSurface object associated with the given resource, or null if no such object exists.

void QWaylandWlShellSurface::initialize(QWaylandWlShell *shell, QWaylandSurface *surface, const QWaylandResource &resource)

Initializes the QWaylandWlShellSurface and associates it with the given shell, surface, and resource.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

[static] const struct wl_interface *QWaylandWlShellSurface::interface()

[slot] void QWaylandWlShellSurface::ping()

Sends a ping event to the client. If the client replies to the event the pong signal will be emitted.

[signal] void QWaylandWlShellSurface::pong()

[static] QWaylandSurfaceRole *QWaylandWlShellSurface::role()

void QWaylandWlShellSurface::sendConfigure(const QSize &size, QWaylandWlShellSurface::ResizeEdge edges)

Sends a configure event to the client, suggesting that it resize its surface to the provided size. The edges provide a hint about how the surface was resized.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

void QWaylandWlShellSurface::sendPopupDone()

Sends a popup_done event to the client to indicate that the user has clicked somewhere outside the client's surfaces.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

[signal] void QWaylandWlShellSurface::setDefaultToplevel()

[signal] void QWaylandWlShellSurface::setFullScreen(QWaylandWlShellSurface::FullScreenMethod method, uint framerate, QWaylandOutput *output)

[signal] void QWaylandWlShellSurface::setMaximized(QWaylandOutput *output)

[signal] void QWaylandWlShellSurface::setPopup(QWaylandSeat *seat, QWaylandSurface *parentSurface, const QPoint &relativeToParent)

[signal] void QWaylandWlShellSurface::setTransient(QWaylandSurface *parentSurface, const QPoint &relativeToParent, bool inactive)

QSize QWaylandWlShellSurface::sizeForResize(const QSizeF &size, const QPointF &delta, QWaylandWlShellSurface::ResizeEdge edges)

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

[signal] void QWaylandWlShellSurface::startMove(QWaylandSeat *seat)

[signal] void QWaylandWlShellSurface::startResize(QWaylandSeat *seat, QWaylandWlShellSurface::ResizeEdge edges)

Qt::WindowType QWaylandWlShellSurface::windowType() const

© 2019 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.