labwc/include/layers.h

39 lines
841 B
C
Raw Normal View History

2021-11-13 21:56:53 +00:00
/* SPDX-License-Identifier: GPL-2.0-only */
#ifndef __LABWC_LAYERS_H
#define __LABWC_LAYERS_H
#include <wayland-server.h>
#include <wlr/types/wlr_layer_shell_v1.h>
struct server;
2022-02-20 15:00:20 +00:00
#define LAB_NR_LAYERS (4)
struct lab_layer_surface {
2022-02-26 21:15:52 +00:00
struct wl_list link; /* output::layers */
struct wlr_scene_layer_surface_v1 *scene_layer_surface;
struct wl_listener destroy;
struct wl_listener map;
struct wl_listener unmap;
struct wl_listener surface_commit;
struct wl_listener output_destroy;
2021-10-20 22:32:46 +01:00
struct wl_listener new_popup;
struct wlr_box geo;
bool mapped;
2022-02-26 21:15:52 +00:00
/* TODO: add extent? */
2021-10-20 22:32:46 +01:00
struct server *server;
};
struct lab_layer_popup {
struct wlr_xdg_popup *wlr_popup;
2022-02-26 21:15:52 +00:00
struct wlr_scene_node *scene_node;
2021-10-20 22:32:46 +01:00
struct wl_listener destroy;
2022-02-26 21:15:52 +00:00
struct wl_listener new_popup;
};
void layers_init(struct server *server);
#endif /* __LABWC_LAYERS_H */