1 /* Copyright Massachusetts Institute of Technology 1985 */
7 * XMenu: MIT Project Athena, X Window system menu package
9 * XMenuInternal.h - Internal menu system include file for the
10 * MIT Project Athena XMenu X window system
13 * Author: Tony Della Fera, DEC
17 #ifndef _XMenuInternal_h_
18 #define _XMenuInternal_h_
20 /* Avoid warnings about redefining NULL by including <stdio.h> first;
21 the other file which wants to define it (<stddef.h> on Ultrix
22 systems) can deal if NULL is already defined, but <stdio.h> can't. */
28 #define min(x, y) ((x) <= (y) ? (x) : (y))
29 #define max(x, y) ((x) >= (y) ? (x) : (y))
30 #define abs(a) ((a) < 0 ? -(a) : (a))
38 * XMenu internal event handler variable.
40 extern int (*_XMEventHandler
)(XEvent
*);
43 #define Pixel unsigned long
47 * Internal routine declarations.
49 void _XMWinQueInit(void);
50 int _XMWinQueAddPane(Display
*display
, XMenu
*menu
, XMPane
*p_ptr
);
51 int _XMWinQueAddSelection(Display
*display
, XMenu
*menu
, XMSelect
*s_ptr
);
52 int _XMWinQueFlush(Display
*display
, XMenu
*menu
, XMPane
*pane
, XMSelect
*select
);
53 XMPane
*_XMGetPanePtr(XMenu
*menu
, int p_num
);
54 XMSelect
*_XMGetSelectionPtr(XMPane
*p_ptr
, int s_num
);
55 void _XMRecomputeGlobals(Display
*display
, XMenu
*menu
);
56 int _XMRecomputePane(Display
*display
, XMenu
*menu
, XMPane
*p_ptr
, int p_num
);
57 int _XMRecomputeSelection(Display
*display
, XMenu
*menu
, XMSelect
*s_ptr
, int s_num
);
58 void _XMTransToOrigin(Display
*display
, XMenu
*menu
, XMPane
*p_ptr
, XMSelect
*s_ptr
, int x_pos
, int y_pos
, int *orig_x
, int *orig_y
);
59 void _XMRefreshPane(Display
*display
, XMenu
*menu
, XMPane
*pane
);
60 void _XMRefreshSelection(Display
*display
, XMenu
*menu
, XMSelect
*select
);
61 void emacs_insque (void *elem
, void *prev
);
62 void emacs_remque (void *elem
);
63 void XDeleteAssoc(Display
*dpy
, XAssocTable
*table
, XID x_id
);
64 void XDestroyAssocTable(XAssocTable
*table
);
65 void XMakeAssoc(Display
*dpy
, XAssocTable
*table
, XID x_id
, void *data
);
66 void XDeleteAssoc(Display
*dpy
, XAssocTable
*table
, XID x_id
);
69 /* Don't add stuff after this #endif */