2019-01-04 20:23:01 +01:00
|
|
|
#ifndef CG_XDG_SHELL_H
|
|
|
|
|
#define CG_XDG_SHELL_H
|
2018-12-31 00:12:33 +01:00
|
|
|
|
2019-12-20 17:16:53 +01:00
|
|
|
#include <wayland-server-core.h>
|
2019-02-17 22:17:11 +01:00
|
|
|
#include <wlr/types/wlr_xdg_decoration_v1.h>
|
2019-01-30 17:01:16 +01:00
|
|
|
#include <wlr/types/wlr_xdg_shell.h>
|
|
|
|
|
|
|
|
|
|
#include "view.h"
|
|
|
|
|
|
|
|
|
|
struct cg_xdg_shell_view {
|
|
|
|
|
struct cg_view view;
|
2022-10-12 04:00:11 -04:00
|
|
|
struct wlr_xdg_toplevel *xdg_toplevel;
|
2019-01-30 17:01:16 +01:00
|
|
|
|
|
|
|
|
struct wl_listener destroy;
|
2024-08-24 15:44:46 +02:00
|
|
|
struct wl_listener commit;
|
2019-01-30 17:01:16 +01:00
|
|
|
struct wl_listener unmap;
|
|
|
|
|
struct wl_listener map;
|
2019-02-14 11:38:29 +01:00
|
|
|
struct wl_listener request_fullscreen;
|
2019-01-30 17:01:16 +01:00
|
|
|
};
|
2018-12-31 00:12:33 +01:00
|
|
|
|
2019-02-17 22:17:11 +01:00
|
|
|
struct cg_xdg_decoration {
|
|
|
|
|
struct wlr_xdg_toplevel_decoration_v1 *wlr_decoration;
|
|
|
|
|
struct cg_server *server;
|
|
|
|
|
struct wl_listener destroy;
|
2024-08-24 15:46:11 +02:00
|
|
|
struct wl_listener commit;
|
2019-02-17 22:17:11 +01:00
|
|
|
struct wl_listener request_mode;
|
|
|
|
|
};
|
|
|
|
|
|
2024-08-30 18:50:11 +02:00
|
|
|
struct cg_xdg_popup {
|
|
|
|
|
struct wlr_xdg_popup *xdg_popup;
|
|
|
|
|
|
|
|
|
|
struct wl_listener destroy;
|
|
|
|
|
struct wl_listener commit;
|
2025-06-01 15:05:37 +02:00
|
|
|
struct wl_listener reposition;
|
2024-08-30 18:50:11 +02:00
|
|
|
};
|
|
|
|
|
|
2024-02-16 16:48:25 +01:00
|
|
|
void handle_new_xdg_toplevel(struct wl_listener *listener, void *data);
|
|
|
|
|
void handle_new_xdg_popup(struct wl_listener *listener, void *data);
|
2018-12-31 00:12:33 +01:00
|
|
|
|
2019-02-17 22:17:11 +01:00
|
|
|
void handle_xdg_toplevel_decoration(struct wl_listener *listener, void *data);
|
|
|
|
|
|
2018-12-31 00:12:33 +01:00
|
|
|
#endif
|