#ifndef _menu_ #define _menu_ #include /* flags */ #define MACTIVE 0 #define MINACTIVE 1 #define MDEFAULT 2 #define MPIN 64 #define MCOMMAND 0 #define MEXCLUSIVE 1 #define MNONEXCLUSIVE 2 /* menu header length and offsets */ #define MHLABEL 0 #define MHSTATE (MHLABEL+1) #define MHLEN (MHSTATE+1) /* menu field length and offsets */ #define MFLABEL 0 #define MFSTATE (MFLABEL+1) #define MFACTION (MFSTATE+1) #define MFLEN (MFACTION+1) struct menu : drawable { any *list; any validate(); void setmenu(any *list); void execdefault(object t); displayitem defaultitem(); boolean defaultactive(); void showmenu(object t); void showmenuE(object t,float x, float y); void showmenuS(object t,float x, float y); void showmenuSE(object t,float x, float y); }; operator boolean menuable() = "currentprocess /menuok known"; #endif