6 #define MENU_IS_LEFT 0x01
7 #define MENU_IS_RIGHT 0x02
8 #define MENU_IS_UP 0x04
9 #define MENU_IS_DOWN 0x08
12 * MISCELLANEOUS MENU STUFF
15 #define IS_MENU_RETURN(x) \
16 ((x)==MENU_DONE || (x)==MENU_ABORTED || (x)==MENU_SUBMENU_TORN_OFF)
21 struct MenuParameters
;
24 struct MenuRepaintTransparentParameters
;
30 void menus_init(void);
31 struct MenuRoot
*menus_find_menu(char *name
);
32 void menus_remove_style_from_menus(struct MenuStyle
*ms
);
33 struct MenuRoot
*FollowMenuContinuations(
34 struct MenuRoot
*mr
, struct MenuRoot
**pmrPrior
);
35 struct MenuRoot
*NewMenuRoot(char *name
);
36 void AddToMenu(struct MenuRoot
*, char *, char *, Bool
, Bool
, Bool
);
37 void menu_enter_tear_off_menu(const exec_context_t
*exc
);
38 void menu_close_tear_off_menu(FvwmWindow
*fw
);
39 Bool
menu_redraw_transparent_tear_off_menu(FvwmWindow
*fw
, Bool pr_only
);
40 void do_menu(struct MenuParameters
*pmp
, struct MenuReturn
*pret
);
41 char *get_menu_options(
42 char *action
, Window w
, FvwmWindow
*fw
, XEvent
*e
, struct MenuRoot
*mr
,
43 struct MenuItem
*mi
, struct MenuOptions
*pops
);
45 struct MenuRoot
*mr
, Bool do_recreate
, Bool is_command_request
);
46 void add_another_menu_item(char *action
);
47 void change_mr_menu_style(struct MenuRoot
*mr
, char *stylename
);
48 void UpdateAllMenuStyles(void);
49 void UpdateMenuColorset(int cset
);
50 void SetMenuCursor(Cursor cursor
);
51 void update_transparent_menu_bg(
52 struct MenuRepaintTransparentParameters
*prtm
,
53 int current_x
, int current_y
, int step_x
, int step_y
,
54 int end_x
, int end_y
);
55 void repaint_transparent_menu(
56 struct MenuRepaintTransparentParameters
*prtmp
,
57 Bool first
, int x
, int y
, int end_x
, int end_y
, Bool is_bg_set
);
58 Bool
menu_expose(XEvent
*event
, FvwmWindow
*fw
);
59 int menu_binding(Display
*dpy
, binding_t type
, int button
, KeySym keysym
,
60 int context
, int modifier
, char *action
, char *menuStyle
);