diff options
Diffstat (limited to 'oldXMenu')
-rw-r--r-- | oldXMenu/Activate.c | 10 | ||||
-rw-r--r-- | oldXMenu/XMenu.h | 2 |
2 files changed, 12 insertions, 0 deletions
diff --git a/oldXMenu/Activate.c b/oldXMenu/Activate.c index 781c05bd026..e679c2ffed6 100644 --- a/oldXMenu/Activate.c +++ b/oldXMenu/Activate.c @@ -122,6 +122,7 @@ int x_menu_grab_keyboard = 1; static Wait_func wait_func; static void* wait_data; static Translate_func translate_func = NULL; +static Expose_func expose_func = NULL; void XMenuActivateSetWaitFunction (Wait_func func, void *data) @@ -136,6 +137,12 @@ XMenuActivateSetTranslateFunction (Translate_func func) translate_func = func; } +void +XMenuActivateSetExposeFunction (Expose_func func) +{ + expose_func = func; +} + int XMenuActivate( register Display *display, /* Display to put menu on. */ @@ -339,6 +346,9 @@ XMenuActivate( feq = feq_tmp; } else if (_XMEventHandler) (*_XMEventHandler)(&event); + + if (expose_func) + expose_func (&event); break; } if (event_xmp->activated) { diff --git a/oldXMenu/XMenu.h b/oldXMenu/XMenu.h index 2eee18a3844..54061235ae7 100644 --- a/oldXMenu/XMenu.h +++ b/oldXMenu/XMenu.h @@ -259,6 +259,7 @@ typedef void (*Wait_func)(void*); XPutBackEvent on an equivalent artificial core event on any function it wants to translate. */ typedef void (*Translate_func)(XEvent *); +typedef void (*Expose_func)(XEvent *); /* * XMenu library routine declarations. @@ -280,6 +281,7 @@ int XMenuLocate(Display *display, XMenu *menu, int p_num, int s_num, int x_pos, void XMenuSetFreeze(XMenu *menu, int freeze); void XMenuActivateSetWaitFunction(Wait_func func, void *data); void XMenuActivateSetTranslateFunction(Translate_func func); +void XMenuActivateSetExposeFunction(Expose_func func); int XMenuActivate(Display *display, XMenu *menu, int *p_num, int *s_num, int x_pos, int y_pos, unsigned int event_mask, char **data, void (*help_callback) (char const *, int, int)); char *XMenuPost(Display *display, XMenu *menu, int *p_num, int *s_num, int x_pos, int y_pos, int event_mask); int XMenuDeletePane(Display *display, XMenu *menu, int p_num); |