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