]> 4ch.mooo.com Git - 16.git/blob - src/lib/doslib/hw/vga/vgagui.h
added a bunch of things~ and midi stuff~
[16.git] / src / lib / doslib / hw / vga / vgagui.h
1
2 #ifndef __DOSLIB_HW_VGA_VGAGUI_H
3 #define __DOSLIB_HW_VGA_VGAGUI_H
4
5 #include <hw/cpu/cpu.h>
6 #include <stdint.h>
7
8 #define MAX_MENU_BAR            16
9
10 struct vga_menu_item {
11         char*           text;
12         unsigned char   shortcut_key;
13         unsigned char   disabled:1;
14         unsigned char   reserved:7;
15 };
16
17 struct vga_menu_bar_item {
18         char*                           name;
19         unsigned char                   shortcut_key,shortcut_scan;
20         unsigned char                   x,w;
21         const struct vga_menu_item**    items;
22 };
23
24 struct vga_menu_bar_state {
25         const struct vga_menu_bar_item* bar;
26         int                             sel;
27         unsigned char                   row;
28 };
29
30 struct vga_msg_box {
31         VGA_ALPHA_PTR   screen,buf;
32         unsigned int    w,h,x,y;
33 };
34
35 extern struct vga_menu_bar_state vga_menu_bar;
36
37 extern void (*vga_menu_idle)();
38
39 void vga_menu_draw_item(VGA_ALPHA_PTR screen,const struct vga_menu_item **scan,unsigned int i,unsigned int w,unsigned int color,unsigned int tcolor);
40 const struct vga_menu_item *vga_menu_bar_menuitem(const struct vga_menu_bar_item *menu,unsigned char row,unsigned int *spec);
41 int vga_msg_box_create(struct vga_msg_box *b,const char *msg,unsigned int extra_y,unsigned int min_x);
42 int vga_menu_item_nonselectable(const struct vga_menu_item *m);
43 void vga_msg_box_destroy(struct vga_msg_box *b);
44 int confirm_yes_no_dialog(const char *message);
45 const struct vga_menu_item *vga_menu_bar_keymon();
46 void vga_menu_bar_draw();
47
48 #endif /* __DOSLIB_HW_VGA_VGAGUI_H */
49