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
|
|
|
|
|
|
|
|
#include <wayland-server.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;
|
|
|
|
|
struct wlr_xdg_surface *xdg_surface;
|
|
|
|
|
|
|
|
|
|
struct wl_listener destroy;
|
|
|
|
|
struct wl_listener unmap;
|
|
|
|
|
struct wl_listener map;
|
2019-01-20 13:42:36 +01:00
|
|
|
struct wl_listener commit;
|
2019-02-14 11:38:29 +01:00
|
|
|
struct wl_listener request_fullscreen;
|
2019-02-13 18:14:20 +01:00
|
|
|
struct wl_listener new_popup;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct cg_xdg_popup {
|
|
|
|
|
struct cg_view_child view_child;
|
|
|
|
|
struct wlr_xdg_popup *wlr_popup;
|
|
|
|
|
|
|
|
|
|
struct wl_listener destroy;
|
2019-02-13 18:50:29 +01:00
|
|
|
struct wl_listener map;
|
|
|
|
|
struct wl_listener unmap;
|
2019-02-13 18:14:20 +01:00
|
|
|
struct wl_listener new_popup;
|
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;
|
|
|
|
|
struct wl_listener request_mode;
|
|
|
|
|
};
|
|
|
|
|
|
2018-12-31 00:12:33 +01:00
|
|
|
void handle_xdg_shell_surface_new(struct wl_listener *listener, void *data);
|
|
|
|
|
|
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
|