/******************************************************/ #define mnu_esize sizeof(struct mnu_entry) #define mnu_hsize sizeof(struct mnu_hdr) #define mnu_selectable 0x0001 #define mnu_autoselect 0x0001 #define mnu_horact 0x0002 #define mnu_veract 0x0004 #define mnu_horsel 0x0008 #define mnu_versel 0x0010 /* structure of each menu entry */ struct mnu_entry { int x; /* x-position of entry */ int y; /* y-position of entry */ char *txt; /* entry-text */ char *msg; /* entry-message */ int HKpos; /* Hot-key position */ char HKey; /* Hot-key */ void (*func)(); /* function address */ int status; /* entry-status */ }; /* structure of menu header */ struct mnu_hdr { unsigned cnt; int ncolor; /* normal entry color */ int scolor; /* selected entry color */ int dcolor; /* deactivated entry color */ int hcolor; /* hot key color */ int mcolor; /* message line color */ int msgln; /* message line */ int maxmsg; /* length of longest message line */ int status; /* menu-status */ }; /******************************************************/ void *menu_init(); void menu_add(); char menu_proc(); void menu_exit();