X-Git-Url: http://4ch.mooo.com/gitweb/?p=16.git;a=blobdiff_plain;f=16%2Fted5%2FMENU.H;fp=16%2Fted5%2FMENU.H;h=4b624de70608c7578578d8e1fb62573448713983;hp=0000000000000000000000000000000000000000;hb=4c15d088479b9b6c4a8b298a9db585bc11582321;hpb=21ff8e5607ba86e91ed0d71f6261fd0fcc676e16 diff --git a/16/ted5/MENU.H b/16/ted5/MENU.H new file mode 100755 index 00000000..4b624de7 --- /dev/null +++ b/16/ted5/MENU.H @@ -0,0 +1,78 @@ +///////////////////////////////////////////////////////////////// +// +// Pull-Down menu interface .H file +// +///////////////////////////////////////////////////////////////// +typedef struct { char *item_name; + void (*routine)(void); + char shiftflag; + char hotkey; + } MenuDef; + +typedef struct { int num_items; + MenuDef *menu_def; + char *menu_name; + } MBarDef; + +typedef struct { int menux; + int menunamelen; + int menuwidth; + } MInfoType; + +typedef struct { char *text; + int xoff,yoff,border; + } btype; + +typedef struct { char *text; + int width,height,numbuttons; + btype *buttons; + void (*hook)(int x,int y); + } DialogDef; + +typedef struct { int x,y,w,h; + void _seg *buffer; + } BackSaveStr; + +#define SCindex 0x3C4 +#define SCmapmask 2 +#define GCindex 0x3CE +#define GCreadmap 4 +#define GCmode 5 +#define crtcaddr 0x3d4 + +#define NUMFLASHES 10 +#define ALT 0x38 +#define CTRL 0x1d + +#define MAXFDNAMES 40 +extern struct ffblk f; // more info from GetPath + + +void extern InitDesktop(MBarDef *menubar,int initmouse); +void extern DeskEventLoop(void (*UserRoutine)(void),void (*ConstantRoutine)(void)); +void extern ClearScreen(void); +void extern RedrawDesktop(void); +void extern SaveBackground(int x,int y,int w,int h); +void extern RestoreBackground(void); +int extern DoDialog(DialogDef *TheDialog); +void extern ErrDialog(char *string,char *bstring); +void extern DrawBorder(int x,int y,int w,int h,int b); +int extern CheckButtons(DialogDef *TheDialog); +int extern CheckButtonsRet(DialogDef *TheDialog); +void extern DrawDialog(DialogDef *TheDialog,int saveback); +void extern GetButtonXY(DialogDef *TheDialog,int button,unsigned *x,unsigned *y); +void extern GetDialogXY(DialogDef *TheDialog,unsigned *x,unsigned *y); +int extern CheckList(int x,int y,int w,int h,void (*oncode)(),void (*offcode)(),int blink); +int extern Message(char *mstring); + +// +// RETURNS 0=OK,-1=NO FILES MATCH FILTER,-2=CANCELED +// +extern char NameList[MAXFDNAMES][13]; +int GetPath(char *string,char *filter,char *path); +int GetList(char *string,int numnames); + +static void FDon(int x,int y,int w); +static void FDoff(int x,int y,int w); +static void CancelOn(int x,int y); +static void CancelOff(int x,int y);