nuclear@0: #ifndef IMTK_H_ nuclear@0: #define IMTK_H_ nuclear@0: nuclear@4: #define IMUID (__LINE__ << 10) nuclear@4: #define IMUID_IDX(i) ((__LINE__ << 10) + ((i) << 1)) nuclear@1: nuclear@1: enum { nuclear@1: IMTK_TEXT_COLOR, nuclear@1: IMTK_BASE_COLOR, nuclear@1: IMTK_FOCUS_COLOR, nuclear@8: IMTK_FRAME_COLOR nuclear@1: }; nuclear@1: nuclear@0: /* key/button state enum */ nuclear@0: enum { nuclear@0: IMTK_UP, nuclear@0: IMTK_DOWN nuclear@0: }; nuclear@0: nuclear@0: enum { nuclear@0: IMTK_LEFT_BUTTON, nuclear@0: IMTK_MIDDLE_BUTTON, nuclear@0: IMTK_RIGHT_BUTTON nuclear@0: }; nuclear@0: nuclear@1: void imtk_set_color(int col, float r, float g, float b); nuclear@1: nuclear@0: void imtk_inp_key(int key, int state); nuclear@0: void imtk_inp_mouse(int bn, int state); nuclear@0: void imtk_inp_motion(int x, int y); nuclear@0: void imtk_inp_reshape(int x, int y); nuclear@0: nuclear@0: void imtk_begin(void); nuclear@0: void imtk_end(void); nuclear@0: nuclear@0: int imtk_button(int id, const char *label, int x, int y); nuclear@1: int imtk_checkbox(int id, const char *label, int x, int y, int state); nuclear@2: void imtk_textbox(int id, char *textbuf, size_t buf_sz, int x, int y); nuclear@3: float imtk_slider(int id, float pos, float min, float max, int x, int y); nuclear@3: void imtk_progress(int id, float pos, int x, int y); nuclear@4: int imtk_listbox(int id, const char *list, int sel, int x, int y); nuclear@4: int imtk_combobox(int id, char *textbuf, size_t buf_sz, const char *list, int sel, int x, int y); nuclear@4: nuclear@4: /* helper functions to create and destroy item lists for listboxes and comboboxes */ nuclear@4: char *imtk_create_list(const char *first, ...); nuclear@4: void imtk_free_list(char *list); nuclear@0: nuclear@0: #endif /* IMTK_H_ */