Changeset View
Changeset View
Standalone View
Standalone View
src/client/xdgshell_v5.cpp
Show All 40 Lines | 35 | public: | |||
---|---|---|---|---|---|
41 | XdgShellPopup *getXdgPopup(Surface *surface, Surface *parentSurface, Seat *seat, quint32 serial, const QPoint &parentPos, QObject *parent) override; | 41 | XdgShellPopup *getXdgPopup(Surface *surface, Surface *parentSurface, Seat *seat, quint32 serial, const QPoint &parentPos, QObject *parent) override; | ||
42 | operator xdg_shell*() override { | 42 | operator xdg_shell*() override { | ||
43 | return xdgshellv5; | 43 | return xdgshellv5; | ||
44 | } | 44 | } | ||
45 | operator xdg_shell*() const override { | 45 | operator xdg_shell*() const override { | ||
46 | return xdgshellv5; | 46 | return xdgshellv5; | ||
47 | } | 47 | } | ||
48 | 48 | | |||
49 | static void pingCallback(void *data, struct xdg_shell *shell, uint32_t serial); | ||||
50 | | ||||
49 | WaylandPointer<xdg_shell, xdg_shell_destroy> xdgshellv5; | 51 | WaylandPointer<xdg_shell, xdg_shell_destroy> xdgshellv5; | ||
52 | static const struct xdg_shell_listener s_shellListener; | ||||
53 | }; | ||||
54 | | ||||
55 | const struct xdg_shell_listener XdgShellUnstableV5::Private::s_shellListener = { | ||||
56 | pingCallback, | ||||
50 | }; | 57 | }; | ||
51 | 58 | | |||
59 | void XdgShellUnstableV5::Private::pingCallback(void *data, struct xdg_shell *shell, uint32_t serial) | ||||
60 | { | ||||
61 | Q_UNUSED(data); | ||||
62 | xdg_shell_pong(shell, serial); | ||||
63 | } | ||||
64 | | ||||
52 | void XdgShellUnstableV5::Private::setupV5(xdg_shell *shell) | 65 | void XdgShellUnstableV5::Private::setupV5(xdg_shell *shell) | ||
53 | { | 66 | { | ||
54 | Q_ASSERT(shell); | 67 | Q_ASSERT(shell); | ||
55 | Q_ASSERT(!xdgshellv5); | 68 | Q_ASSERT(!xdgshellv5); | ||
56 | xdgshellv5.setup(shell); | 69 | xdgshellv5.setup(shell); | ||
57 | xdg_shell_use_unstable_version(xdgshellv5, 5); | 70 | xdg_shell_use_unstable_version(xdgshellv5, 5); | ||
71 | xdg_shell_add_listener(shell, &s_shellListener, this); | ||||
58 | } | 72 | } | ||
59 | 73 | | |||
60 | void XdgShellUnstableV5::Private::release() | 74 | void XdgShellUnstableV5::Private::release() | ||
61 | { | 75 | { | ||
62 | xdgshellv5.release(); | 76 | xdgshellv5.release(); | ||
63 | } | 77 | } | ||
64 | 78 | | |||
65 | void XdgShellUnstableV5::Private::destroy() | 79 | void XdgShellUnstableV5::Private::destroy() | ||
▲ Show 20 Lines • Show All 61 Lines • ▼ Show 20 Line(s) | 122 | public: | |||
127 | void move(Seat *seat, quint32 serial) override; | 141 | void move(Seat *seat, quint32 serial) override; | ||
128 | void resize(Seat *seat, quint32 serial, Qt::Edges edges) override; | 142 | void resize(Seat *seat, quint32 serial, Qt::Edges edges) override; | ||
129 | void ackConfigure(quint32 serial) override; | 143 | void ackConfigure(quint32 serial) override; | ||
130 | void setMaximized() override; | 144 | void setMaximized() override; | ||
131 | void unsetMaximized() override; | 145 | void unsetMaximized() override; | ||
132 | void setFullscreen(Output *output) override; | 146 | void setFullscreen(Output *output) override; | ||
133 | void unsetFullscreen() override; | 147 | void unsetFullscreen() override; | ||
134 | void setMinimized() override; | 148 | void setMinimized() override; | ||
149 | void setMaxSize(const QSize &size) override; | ||||
150 | void setMinSize(const QSize &size) override; | ||||
135 | 151 | | |||
136 | private: | 152 | private: | ||
137 | static void configureCallback(void *data, xdg_surface *xdg_surface, int32_t width, int32_t height, wl_array *states, uint32_t serial); | 153 | static void configureCallback(void *data, xdg_surface *xdg_surface, int32_t width, int32_t height, wl_array *states, uint32_t serial); | ||
138 | static void closeCallback(void *data, xdg_surface *xdg_surface); | 154 | static void closeCallback(void *data, xdg_surface *xdg_surface); | ||
139 | 155 | | |||
140 | static const struct xdg_surface_listener s_listener; | 156 | static const struct xdg_surface_listener s_listener; | ||
141 | }; | 157 | }; | ||
142 | 158 | | |||
▲ Show 20 Lines • Show All 153 Lines • ▼ Show 20 Line(s) | 311 | { | |||
296 | xdg_surface_unset_fullscreen(xdgsurfacev5); | 312 | xdg_surface_unset_fullscreen(xdgsurfacev5); | ||
297 | } | 313 | } | ||
298 | 314 | | |||
299 | void XdgShellSurfaceUnstableV5::Private::setMinimized() | 315 | void XdgShellSurfaceUnstableV5::Private::setMinimized() | ||
300 | { | 316 | { | ||
301 | xdg_surface_set_minimized(xdgsurfacev5); | 317 | xdg_surface_set_minimized(xdgsurfacev5); | ||
302 | } | 318 | } | ||
303 | 319 | | |||
320 | void XdgShellSurfaceUnstableV5::Private::setMaxSize(const QSize &size) | ||||
321 | { | ||||
322 | Q_UNUSED(size) | ||||
323 | //TODO: notify an error? | ||||
324 | } | ||||
325 | | ||||
326 | void XdgShellSurfaceUnstableV5::Private::setMinSize(const QSize &size) | ||||
327 | { | ||||
328 | Q_UNUSED(size) | ||||
329 | //TODO: notify an error? | ||||
330 | } | ||||
331 | | ||||
304 | XdgShellSurfaceUnstableV5::XdgShellSurfaceUnstableV5(QObject *parent) | 332 | XdgShellSurfaceUnstableV5::XdgShellSurfaceUnstableV5(QObject *parent) | ||
305 | : XdgShellSurface(new Private(this), parent) | 333 | : XdgShellSurface(new Private(this), parent) | ||
306 | { | 334 | { | ||
307 | } | 335 | } | ||
308 | 336 | | |||
309 | XdgShellSurfaceUnstableV5::~XdgShellSurfaceUnstableV5() = default; | 337 | XdgShellSurfaceUnstableV5::~XdgShellSurfaceUnstableV5() = default; | ||
310 | 338 | | |||
311 | class XdgShellPopupUnstableV5::Private : public XdgShellPopup::Private | 339 | class XdgShellPopupUnstableV5::Private : public XdgShellPopup::Private | ||
▲ Show 20 Lines • Show All 69 Lines • Show Last 20 Lines |