28class Q_WAYLANDCOMPOSITOR_EXPORT
QWaylandWlShell :
public QWaylandShellTemplate<QWaylandWlShell>
31 Q_DECLARE_PRIVATE(QWaylandWlShell)
34 QWaylandWlShell(QWaylandCompositor *compositor);
36 void initialize() override;
37 QList<QWaylandWlShellSurface *> shellSurfaces()
const;
38 QList<QWaylandWlShellSurface *> shellSurfacesForClient(QWaylandClient* client)
const;
39 QList<QWaylandWlShellSurface *> mappedPopups()
const;
40 QWaylandClient *popupClient()
const;
42 static const struct wl_interface *interface();
43 static QByteArray interfaceName();
46 void closeAllPopups();
49 void wlShellSurfaceRequested(QWaylandSurface *surface,
const QWaylandResource &resource);
50 void wlShellSurfaceCreated(QWaylandWlShellSurface *shellSurface);
56 Q_DECLARE_PRIVATE(QWaylandWlShellSurface)
57#if QT_CONFIG(wayland_compositor_quick)
58 Q_WAYLAND_COMPOSITOR_DECLARE_QUICK_CHILDREN(QWaylandWlShellSurface)
60 Q_PROPERTY(QWaylandSurface *surface READ surface NOTIFY surfaceChanged)
61 Q_PROPERTY(QWaylandWlShell *shell READ shell NOTIFY shellChanged)
62 Q_PROPERTY(QString title READ title NOTIFY titleChanged)
63 Q_PROPERTY(QString className READ className NOTIFY classNameChanged)
64 Q_MOC_INCLUDE(
"qwaylandsurface.h")
67 enum FullScreenMethod {
73 Q_ENUM(FullScreenMethod);
88 QWaylandWlShellSurface();
89 QWaylandWlShellSurface(QWaylandWlShell *shell, QWaylandSurface *surface,
const QWaylandResource &resource);
90 ~QWaylandWlShellSurface() override;
92 Q_INVOKABLE
void initialize(QWaylandWlShell *shell, QWaylandSurface *surface,
const QWaylandResource &resource);
94 QString title()
const;
95 QString className()
const;
97 QWaylandSurface *surface()
const;
98 QWaylandWlShell *shell()
const;
100 Qt::WindowType windowType()
const override;
102 static const struct wl_interface *interface();
103 static QByteArray interfaceName();
104 static QWaylandSurfaceRole *role();
106 static QWaylandWlShellSurface *fromResource(wl_resource *res);
108 Q_INVOKABLE QSize sizeForResize(
const QSizeF &size,
const QPointF &delta, ResizeEdge edges);
109 Q_INVOKABLE
void sendConfigure(
const QSize &size, ResizeEdge edges);
110 Q_INVOKABLE
void sendPopupDone();
112#if QT_CONFIG(wayland_compositor_quick)
113 QWaylandQuickShellIntegration *createIntegration(QWaylandQuickShellSurfaceItem *item) override;
120 void surfaceChanged();
123 void classNameChanged();
125 void startMove(QWaylandSeat *seat);
126 void startResize(QWaylandSeat *seat, ResizeEdge edges);
128 void setDefaultToplevel();
129 void setTransient(QWaylandSurface *parentSurface,
const QPoint &relativeToParent,
bool inactive);
130 void setFullScreen(FullScreenMethod method, uint framerate, QWaylandOutput *output);
131 void setPopup(QWaylandSeat *seat, QWaylandSurface *parentSurface,
const QPoint &relativeToParent);
132 void setMaximized(QWaylandOutput *output);
135 void initialize() override;