struct menu *menu_current;
};
+#define LAB_NR_LAYERS (4)
struct output {
struct wl_list link; /* server::outputs */
struct server *server;
struct wlr_output *wlr_output;
struct wlr_scene_output *scene_output;
- struct wl_list layers[4];
- struct wlr_scene_tree *layer_tree[4];
+ struct wl_list layers[LAB_NR_LAYERS];
+ struct wlr_scene_tree *layer_tree[LAB_NR_LAYERS];
struct wlr_box usable_area;
struct lab_data_buffer *osd_buffer;
struct wl_listener destroy;
struct wl_listener frame;
};
+#undef LAB_NR_LAYERS
enum view_type {
LAB_XDG_SHELL_VIEW,
struct server;
struct output;
-#define LAB_NR_LAYERS (4)
-
struct lab_layer_surface {
struct wl_list link; /* output::layers */
struct wlr_scene_layer_surface_v1 *scene_layer_surface;
return;
}
- for (int i = 0; i < LAB_NR_LAYERS; i++) {
+ int nr_layers = sizeof(output->layers) / sizeof(output->layers[0]);
+ for (int i = 0; i < nr_layers; i++) {
struct lab_layer_surface *lab_layer_surface;
wl_list_for_each(lab_layer_surface, &output->layers[i], link) {
struct wlr_scene_layer_surface_v1 *scene_layer_surface =
output->frame.notify = output_frame_notify;
wl_signal_add(&wlr_output->events.frame, &output->frame);
- for (int i = 0; i < LAB_NR_LAYERS; i++) {
+ int nr_layers = sizeof(output->layers) / sizeof(output->layers[0]);
+ for (int i = 0; i < nr_layers; i++) {
wl_list_init(&output->layers[i]);
output->layer_tree[i] =
wlr_scene_tree_create(&server->scene->node);