#define a_ENTER  13
#define a_ESC    27
#define a_HOME   1071
#define a_UP     1072
#define a_PGUP   1073
#define a_LEFT   1075
#define a_CENTER 1076
#define a_RIGHT  1077
#define a_END    1079
#define a_DOWN   1080
#define a_PGDN   1081
#define a_F1     1059
#define a_F2     1060
#define a_F3     1061

typedef struct
{
   int x0,y0;
   int x1,y1;
} button_t;

int getkey();
char *getstr(int x, int y);
char *wgetstr(char * def,int x, int y, button_t ok, button_t cancel, button_t xbutton);
button_t button(int x0, int y0, int x1, int y1, char *text);
button_t inputbox(int x0, int y0, int x1, int y1, char *title);
int hitbutton(int x, int y, button_t b);
int selectentry(int e);
void scrollbar(int x, int y0, int y1, int cur, int max);
button_t scrollbutton(int x, int y, char *text);
char *wgetstringbox(char *menubar, char *text, char *def);
button_t clearbutton(int x0, int y0, int x1, int y1);
int selectentrykeyword(int e, char *keyword);
int query(char *info);
int wgetintbox(char *menubar, char *text, int def);