#ifndef UI_INT_H #define UI_INT_H #define MOUSE_PRESS 1 #define MOUSE_RELEASE 2 #define MOUSE_DRAG 4 #define MOUSE_MOVE 8 #define BORDERWIDTH 2 #define BORDERHEIGHT 2 #define BUTTONHEIGHT (xtextheight(uih->font)+2*BORDERWIDTH) struct ui_textdata { int x, y, width; char *text; int size; int cursor; int cursorpos; int start; int ndisplayed; int clear; }; extern uih_context *uih; extern CONST struct ui_driver *driver; extern CONST int ndrivers; extern CONST struct ui_driver *CONST drivers[]; extern int ui_nmenus; extern char *ui_helptext[]; extern int ui_helpsize; extern CONST struct params ui_fractal_params[]; extern int filevisible, helpvisible, dialogvisible, yesnodialogvisible; extern int ui_nogui; float ui_get_windowwidth(int width); float ui_get_windowheight(int height); void ui_updatetext(struct ui_textdata *d); struct ui_textdata *ui_opentext(int x, int y, int width, CONST char *def); void ui_drawtext(struct ui_textdata *d, int active); void ui_textmouse(struct ui_textdata *d, int x, int y); void ui_closetext(struct ui_textdata *d); int ui_textkey(struct ui_textdata *d, int key); int ui_menumouse(int x, int y, int mousebuttons, int flags); int ui_menukey(int key); int ui_menuwidth(void); void ui_closemenus(void); int ui_dorender_params(void); void ui_updatestarts(void); void ui_builddialog(CONST menuitem * d); void ui_close_help(void); void ui_closedialog(int call); int ui_dialogmouse(int x, int y, int mousebuttons, int flags); int ui_dialogkeys(int key); void ui_buildyesno(CONST char *question, void (*handler) (int yes)); void ui_drawbutton(CONST char *text, int pressed, int selected, int x1, int x2, int y); void ui_buildfilesel(CONST char *f, CONST char *m, void (*c) (CONST char *, int)); int ui_keyfilesel(int k); int ui_mousefilesel(int x, int y, int buttons, int flags); void ui_closefilesel(int succ); void ui_pipe_init(CONST char *name); int ui_helpkeys(int key); int ui_helpmouse(int x, int y, int buttons, int flags); #endif