imtk

view src/imtk.h @ 10:467a520f5c00

implemented the listbox correctly, no scrollbars or explicit sizing yet
author John Tsiombikas <nuclear@siggraph.org>
date Sun, 17 Apr 2011 18:17:55 +0300
parents 6d35e6c7b2ca
children 9c7987064bb0
line source
1 #ifndef IMTK_H_
2 #define IMTK_H_
4 #include <stdlib.h>
7 #define IMUID (__LINE__ << 10)
8 #define IMUID_IDX(i) ((__LINE__ << 10) + ((i) << 1))
11 /* key/button state enum */
12 enum {
13 IMTK_UP,
14 IMTK_DOWN
15 };
17 enum {
18 IMTK_LEFT_BUTTON,
19 IMTK_MIDDLE_BUTTON,
20 IMTK_RIGHT_BUTTON
21 };
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
29 void imtk_inp_key(int key, int state);
30 void imtk_inp_mouse(int bn, int state);
31 void imtk_inp_motion(int x, int y);
33 void imtk_set_viewport(int x, int y);
34 void imtk_get_viewport(int *width, int *height);
36 void imtk_post_redisplay(void);
38 void imtk_begin(void);
39 void imtk_end(void);
41 int imtk_button(int id, const char *label, int x, int y);
42 int imtk_checkbox(int id, const char *label, int x, int y, int state);
43 void imtk_textbox(int id, char *textbuf, size_t buf_sz, int x, int y);
44 float imtk_slider(int id, float pos, float min, float max, int x, int y);
45 void imtk_progress(int id, float pos, int x, int y);
46 int imtk_listbox(int id, const char *list, int sel, int x, int y);
47 /*
48 int imtk_combobox(int id, char *textbuf, size_t buf_sz, const char *list, int sel, int x, int y);
49 */
51 /* helper functions to create and destroy item lists for listboxes and comboboxes */
52 char *imtk_create_list(const char *first, ...);
53 void imtk_free_list(char *list);
55 #ifdef __cplusplus
56 }
57 #endif
59 #endif /* IMTK_H_ */