/* * Theta menus header file * Don Hopkins * University of Maryland */ #include #define PI 3.1415926535897932 #define TWO_PI 6.2831853071795865 #define MENU_PAD 8 struct _theta_menuline { struct _theta_menuline *next; /* Pointer to next line. */ char *name; /* Name of this line. */ int type; /* IsShellCommand, IsText, IsTextNL... */ Window w; /* Subwindow for this line. */ char *text; /* Text string to be acted upon. */ Bool (*func)(); /* Window manager function to be invoked. */ struct _menuinfo *menu; /* Menu to be invoked. */ char *foreground; /* Name of foreground color. */ char *background; /* Name of background color. */ Color fg; /* Foreground color definition. */ Color bg; /* Background color definition. */ int name_x_offset; int name_y_offset; int name_width; int name_height; struct theta_menu_item *next; }; typedef struct _thetamenu { char *name; /* Name of this menu. */ Window w; /* Menu window. */ int name_x; /* Menu name x position. */ int name_y; /* Menu name y position. */ int name_width; /* Menu name width. */ int name_height; /* Menu name height. */ int width; /* Menu width. */ int height; /* Menu height. */ int center_x; /* Menu center x. */ int center_y; /* Menu center y. */ int radius; /* Radius of menu items from center. */ int slices; /* Number of selections. */ Pixmap image; /* Saved image of the menu. */ char *foreground; /* Foreground color definition. */ char *background; /* Background color definition. */ char *fghighlight; /* Foreground highlight. */ char *bghighlight; /* Background highlight. */ Color fg; /* Foreground color definition. */ Color bg; /* Background color definition. */ Color hlfg; /* Foreground highlight color definition. */ Color hlbg; /* Background highlight color definition. */ struct _theta_menuline *line; /* Linked list of menu items. */ };