QWaylandWlShellSurface Class

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

Header: #include <QWaylandWlShellSurface>
qmake: QT += waylandcompositor
Inherits: QWaylandShellSurfaceTemplate<QWaylandWlShellSurface>

This class is under development and is subject to change.

Public Types

enum FocusPolicy { DefaultFocus, NoKeyboardFocus }
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)
QString className() const
FocusPolicy focusPolicy() const
void initialize(QWaylandWlShell *shell, QWaylandSurface *surface, const QWaylandResource &resource)
void sendConfigure(const QSize &size, ResizeEdge edges)
void sendPopupDone()
QSize sizeForResize(const QSizeF &size, const QPointF &delta, ResizeEdge edges)
QWaylandSurface *surface() const
QString title() const

Reimplemented Public Functions

virtual QWaylandQuickShellIntegration *createIntegration(QWaylandQuickShellSurfaceItem *item)

Public Slots

void ping()

Signals

void classNameChanged()
void focusPolicyChanged()
void pong()
void setDefaultToplevel()
void setFullScreen(FullScreenMethod method, uint framerate, QWaylandOutput *output)
void setMaximized(QWaylandOutput *output)
void setPopup(QWaylandInputDevice *inputDevice, QWaylandSurface *parentSurface, const QPoint &relativeToParent)
void setTransient(QWaylandSurface *parentSurface, const QPoint &relativeToParent, FocusPolicy focusPolicy)
void startMove(QWaylandInputDevice *inputDevice)
void startResize(QWaylandInputDevice *inputDevice, ResizeEdge edges)
void surfaceChanged()
void titleChanged()

Static Public Members

QWaylandWlShellSurface *fromResource(wl_resource *resource)
QWaylandSurfaceRole *role()

Additional Inherited Members

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::FocusPolicy

This enum type is used to specify the focus policy of a shell surface.

ConstantValueDescription
QWaylandWlShellSurface::DefaultFocus0The default focus policy should be used.
QWaylandWlShellSurface::NoKeyboardFocus1The shell surface should not get keyboard focus.

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()

focusPolicy : const FocusPolicy

This property holds the focus policy of the QWaylandWlShellSurface.

Access functions:

FocusPolicy focusPolicy() const

Notifier signal:

void focusPolicyChanged()

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.

[virtual] QWaylandQuickShellIntegration *QWaylandWlShellSurface::createIntegration(QWaylandQuickShellSurfaceItem *item)

[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.

[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, 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.

void QWaylandWlShellSurface::sendPopupDone()

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

[signal] void QWaylandWlShellSurface::setDefaultToplevel()

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

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

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

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

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

[signal] void QWaylandWlShellSurface::startMove(QWaylandInputDevice *inputDevice)

[signal] void QWaylandWlShellSurface::startResize(QWaylandInputDevice *inputDevice, ResizeEdge edges)