37 :
public QWaylandShellPrivate
38 ,
public QtWaylandServer::wl_shell
40 Q_DECLARE_PUBLIC(QWaylandWlShell)
42 QWaylandWlShellPrivate();
44 void unregisterShellSurface(QWaylandWlShellSurface *shellSurface);
46 static QWaylandWlShellPrivate *get(QWaylandWlShell *shell) {
return shell->d_func(); }
49 void shell_get_shell_surface(Resource *resource, uint32_t id,
struct ::wl_resource *surface) override;
51 QList<QWaylandWlShellSurface *> m_shellSurfaces;
55 :
public QWaylandShellSurfacePrivate
56 ,
public QtWaylandServer::wl_shell_surface
58 Q_DECLARE_PUBLIC(QWaylandWlShellSurface)
60 QWaylandWlShellSurfacePrivate();
61 ~QWaylandWlShellSurfacePrivate() override;
63 static QWaylandWlShellSurfacePrivate *get(QWaylandWlShellSurface *surface) {
return surface->d_func(); }
65 void ping(uint32_t serial);
67 void setWindowType(Qt::WindowType windowType);
70 QWaylandWlShell *m_shell =
nullptr;
71 QPointer<QWaylandSurface> m_surface;
73 QSet<uint32_t> m_pings;
77 Qt::WindowType m_windowType = Qt::WindowType::Window;
79 void shell_surface_destroy_resource(Resource *resource) override;
81 void shell_surface_move(Resource *resource,
82 struct wl_resource *input_device_super,
83 uint32_t time) override;
84 void shell_surface_resize(Resource *resource,
85 struct wl_resource *input_device,
87 uint32_t edges) override;
88 void shell_surface_set_toplevel(Resource *resource) override;
89 void shell_surface_set_transient(Resource *resource,
90 struct wl_resource *parent_surface_resource,
93 uint32_t flags) override;
94 void shell_surface_set_fullscreen(Resource *resource,
97 struct wl_resource *output_resource) override;
98 void shell_surface_set_popup(Resource *resource,
99 struct wl_resource *input_device,
101 struct wl_resource *parent,
104 uint32_t flags) override;
105 void shell_surface_set_maximized(Resource *resource,
106 struct wl_resource *output_resource) override;
107 void shell_surface_pong(Resource *resource,
108 uint32_t serial) override;
109 void shell_surface_set_title(Resource *resource,
110 const QString &title) override;
111 void shell_surface_set_class(Resource *resource,
112 const QString &class_) override;
114 static QWaylandSurfaceRole s_role;