29class Q_WAYLANDCOMPOSITOR_EXPORT
QWaylandWlShell :
public QWaylandShellTemplate<QWaylandWlShell>
32 Q_DECLARE_PRIVATE(QWaylandWlShell)
35 QWaylandWlShell(QWaylandCompositor *compositor);
37 void initialize() override;
38 QList<QWaylandWlShellSurface *> shellSurfaces()
const;
39 QList<QWaylandWlShellSurface *> shellSurfacesForClient(QWaylandClient* client)
const;
40 QList<QWaylandWlShellSurface *> mappedPopups()
const;
41 QWaylandClient *popupClient()
const;
43 static const struct wl_interface *interface();
44 static QByteArray interfaceName();
47 void closeAllPopups();
50 void wlShellSurfaceRequested(QWaylandSurface *surface,
const QWaylandResource &resource);
51 void wlShellSurfaceCreated(QWaylandWlShellSurface *shellSurface);
57 Q_DECLARE_PRIVATE(QWaylandWlShellSurface)
58#if QT_CONFIG(wayland_compositor_quick)
59 Q_WAYLAND_COMPOSITOR_DECLARE_QUICK_CHILDREN(QWaylandWlShellSurface)
61 Q_PROPERTY(QWaylandSurface *surface READ surface NOTIFY surfaceChanged)
62 Q_PROPERTY(QWaylandWlShell *shell READ shell NOTIFY shellChanged)
63 Q_PROPERTY(QString title READ title NOTIFY titleChanged)
64 Q_PROPERTY(QString className READ className NOTIFY classNameChanged)
65 Q_MOC_INCLUDE(
"qwaylandsurface.h")
68 enum FullScreenMethod {
74 Q_ENUM(FullScreenMethod);
89 QWaylandWlShellSurface();
90 QWaylandWlShellSurface(QWaylandWlShell *shell, QWaylandSurface *surface,
const QWaylandResource &resource);
91 ~QWaylandWlShellSurface() override;
93 Q_INVOKABLE
void initialize(QWaylandWlShell *shell, QWaylandSurface *surface,
const QWaylandResource &resource);
95 QString title()
const;
96 QString className()
const;
98 QWaylandSurface *surface()
const;
99 QWaylandWlShell *shell()
const;
101 Qt::WindowType windowType()
const override;
103 static const struct wl_interface *interface();
104 static QByteArray interfaceName();
105 static QWaylandSurfaceRole *role();
107 static QWaylandWlShellSurface *fromResource(wl_resource *res);
109 Q_INVOKABLE QSize sizeForResize(
const QSizeF &size,
const QPointF &delta, ResizeEdge edges);
110 Q_INVOKABLE
void sendConfigure(
const QSize &size, ResizeEdge edges);
111 Q_INVOKABLE
void sendPopupDone();
113#if QT_CONFIG(wayland_compositor_quick)
114 QWaylandQuickShellIntegration *createIntegration(QWaylandQuickShellSurfaceItem *item) override;
121 void surfaceChanged();
124 void classNameChanged();
126 void startMove(QWaylandSeat *seat);
127 void startResize(QWaylandSeat *seat, ResizeEdge edges);
129 void setDefaultToplevel();
130 void setTransient(QWaylandSurface *parentSurface,
const QPoint &relativeToParent,
bool inactive);
131 void setFullScreen(FullScreenMethod method, uint framerate, QWaylandOutput *output);
132 void setPopup(QWaylandSeat *seat, QWaylandSurface *parentSurface,
const QPoint &relativeToParent);
133 void setMaximized(QWaylandOutput *output);
136 void initialize() override;