vim movement
[taskasaur.git] / headers / menu.h
1
2 #ifndef __MENU_H__
3 #define __MENU_H__
4
5 /* ncurses doesn't support multiline menu items,
6  * so i wrote my own menu lib */
7
8 typedef enum {
9     MENU_UP = 0,
10     MENU_DOWN,
11     MENU_TOP,
12     MENU_BOTTOM
13 } MenuAction;
14
15 typedef struct Menu Menu;
16 typedef struct MenuItem MenuItem;
17
18 extern MenuItem* create_menuitem(char* contents);
19
20 extern Menu* create_menu(MenuItem** item_list);
21 extern int set_menu_items(Menu* menu, MenuItem** item_list);
22 extern int set_menu_win(Menu* menu, WINDOW* win);
23 extern MenuItem* get_menu_items(Menu* menu);
24
25 extern int menu_driver(Menu* menu, MenuAction action);
26
27 extern int render_menu(Menu* menu);
28
29 extern int free_menu(Menu* menu);
30
31 #endif