added CVAR_SAVE and CVAR_NOTIFY flags to cvar_t structure (at the beginning), updated...
[divverent/darkplaces.git] / ui.h
1
2 #define MAX_UI_COUNT 16
3 #define MAX_UI_ITEMS 256
4
5 typedef struct
6 {
7         char name[32];
8         int flags;
9         qpic_t *draw_pic;
10         int draw_x, draw_y;
11         int click_x, click_y, click_x2, click_y2;
12         void(*leftkey)(void *nativedata1, void *nativedata2, float data1, float data2);
13         void(*rightkey)(void *nativedata1, void *nativedata2, float data1, float data2);
14         void(*enterkey)(void *nativedata1, void *nativedata2, float data1, float data2);
15         void(*mouseclick)(void *nativedata1, void *nativedata2, float data1, float data2, float xfrac, float yfrac);
16         void *nativedata1, *nativedata2;
17         float data1, data2;
18 }
19 ui_item_t;
20
21 typedef struct
22 {
23         int item_count;
24         int pad;
25         ui_item_t items[MAX_UI_ITEMS];
26 }
27 ui_t;
28
29 void ui_init(void);
30 void ui_mouseupdate(float x, float y);
31 void ui_mouseupdaterelative(float x, float y);
32 ui_t *ui_create(void);
33 void ui_free(ui_t *ui);
34 void ui_clear(ui_t *ui);
35 void ui_item
36 (
37         ui_t *ui, char *basename, int number,
38         float x, float y, qpic_t *pic,
39         float left, float top, float width, float height,
40         void(*leftkey)(void *nativedata1, void *nativedata2, float data1, float data2),
41         void(*rightkey)(void *nativedata1, void *nativedata2, float data1, float data2),
42         void(*enterkey)(void *nativedata1, void *nativedata2, float data1, float data2),
43         void(*mouseclick)(void *nativedata1, void *nativedata2, float data1, float data2, float xfrac, float yfrac),
44         void *nativedata1, void *nativedata2, float data1, float data2
45 );
46 void ui_item_remove(ui_t *ui, char *basename, int number);
47 int ui_uiactive(ui_t *ui);
48 void ui_activate(ui_t *ui, int yes);
49 void ui_leftkeyupdate(int pressed);
50 void ui_rightkeyupdate(int pressed);
51 void ui_upkeyupdate(int pressed);
52 void ui_downkeyupdate(int pressed);
53 void ui_mousebuttonupdate(int button, int pressed);
54 void ui_update(void);
55 void ui_draw(void);