2020-10-19 22:14:17 +01:00
|
|
|
#ifndef __LABWC_MENU_H
|
|
|
|
|
#define __LABWC_MENU_H
|
|
|
|
|
|
|
|
|
|
#include <wayland-server.h>
|
|
|
|
|
#include <wlr/render/wlr_renderer.h>
|
|
|
|
|
|
|
|
|
|
struct menuitem {
|
|
|
|
|
char *action;
|
|
|
|
|
char *command;
|
2021-08-07 08:35:46 +01:00
|
|
|
struct wlr_box box;
|
|
|
|
|
struct {
|
|
|
|
|
struct wlr_texture *active;
|
|
|
|
|
struct wlr_texture *inactive;
|
|
|
|
|
int offset_x;
|
|
|
|
|
int offset_y;
|
|
|
|
|
} texture;
|
2020-10-19 22:14:17 +01:00
|
|
|
bool selected;
|
|
|
|
|
struct wl_list link;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct menu {
|
2021-02-19 23:31:14 +00:00
|
|
|
struct server *server;
|
2020-10-19 22:14:17 +01:00
|
|
|
int x;
|
|
|
|
|
int y;
|
|
|
|
|
struct wl_list menuitems;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/* menu_create - create menu */
|
2021-02-19 23:05:14 +00:00
|
|
|
void menu_init_rootmenu(struct server *server, struct menu *menu);
|
2020-10-22 19:43:27 +01:00
|
|
|
void menu_finish(struct menu *menu);
|
2020-10-19 22:14:17 +01:00
|
|
|
|
|
|
|
|
/* menu_move - move to position (x, y) */
|
|
|
|
|
void menu_move(struct menu *menu, int x, int y);
|
|
|
|
|
|
|
|
|
|
/* menu_set_selected - select item at (x, y) */
|
|
|
|
|
void menu_set_selected(struct menu *menu, int x, int y);
|
|
|
|
|
|
|
|
|
|
/* menu_action_selected - select item at (x, y) */
|
|
|
|
|
void menu_action_selected(struct server *server, struct menu *menu);
|
|
|
|
|
|
2021-02-19 23:05:14 +00:00
|
|
|
/* menu_reconfigure - reload theme and content */
|
2021-02-19 23:31:14 +00:00
|
|
|
void menu_reconfigure(struct server *server, struct menu *menu);
|
2021-02-19 23:05:14 +00:00
|
|
|
|
2020-10-19 22:14:17 +01:00
|
|
|
#endif /* __LABWC_MENU_H */
|