annotate oldXMenu/XMenu.h @ 36150:46e59561af4c

Display Vars node renamed Display Custom. Include info there about customizing cursor appearance. Clean up aggressive scrolling. Clarify horizontal scrolling discussion. Fix index entries for line number mode.
author Richard M. Stallman <rms@gnu.org>
date Sat, 17 Feb 2001 16:45:37 +0000
parents 60bf61bbd0b3
children 23a1cea22d13
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25858
Dave Love <fx@gnu.org>
parents:
diff changeset
1 #include "copyright.h"
Dave Love <fx@gnu.org>
parents:
diff changeset
2
27454
60bf61bbd0b3 (XmSelect): Add member `help_string'.
Gerd Moellmann <gerd@gnu.org>
parents: 25858
diff changeset
3 /* $Header: /gd/gnu/cvsroot/emacs/oldXMenu/XMenu.h,v 1.1 1999/10/03 19:35:23 fx Exp $ */
25858
Dave Love <fx@gnu.org>
parents:
diff changeset
4 /* Copyright Massachusetts Institute of Technology 1985 */
Dave Love <fx@gnu.org>
parents:
diff changeset
5
Dave Love <fx@gnu.org>
parents:
diff changeset
6 /*
Dave Love <fx@gnu.org>
parents:
diff changeset
7 * XMenu: MIT Project Athena, X Window system menu package
Dave Love <fx@gnu.org>
parents:
diff changeset
8 *
Dave Love <fx@gnu.org>
parents:
diff changeset
9 * XMenu.h - Include file for the MIT Project Athena
Dave Love <fx@gnu.org>
parents:
diff changeset
10 * XMenu X window system menu package.
Dave Love <fx@gnu.org>
parents:
diff changeset
11 *
Dave Love <fx@gnu.org>
parents:
diff changeset
12 * Author: Tony Della Fera, DEC
Dave Love <fx@gnu.org>
parents:
diff changeset
13 * August, 1984
Dave Love <fx@gnu.org>
parents:
diff changeset
14 */
Dave Love <fx@gnu.org>
parents:
diff changeset
15
Dave Love <fx@gnu.org>
parents:
diff changeset
16 #ifndef _XMenu_h_
Dave Love <fx@gnu.org>
parents:
diff changeset
17 #define _XMenu_h_
Dave Love <fx@gnu.org>
parents:
diff changeset
18
Dave Love <fx@gnu.org>
parents:
diff changeset
19 #include <X11/Xutil.h>
Dave Love <fx@gnu.org>
parents:
diff changeset
20 #include "X10.h"
Dave Love <fx@gnu.org>
parents:
diff changeset
21
Dave Love <fx@gnu.org>
parents:
diff changeset
22 #define FAILURE -1
Dave Love <fx@gnu.org>
parents:
diff changeset
23 #define SUCCESS 1
Dave Love <fx@gnu.org>
parents:
diff changeset
24 #define POST_ERROR -1
Dave Love <fx@gnu.org>
parents:
diff changeset
25 #define NO_SELECTION -1
Dave Love <fx@gnu.org>
parents:
diff changeset
26
Dave Love <fx@gnu.org>
parents:
diff changeset
27 #define XM_FAILURE -1
Dave Love <fx@gnu.org>
parents:
diff changeset
28 #define XM_SUCCESS 1
Dave Love <fx@gnu.org>
parents:
diff changeset
29 #define XM_NO_SELECT 2
Dave Love <fx@gnu.org>
parents:
diff changeset
30 #define XM_IA_SELECT 3
Dave Love <fx@gnu.org>
parents:
diff changeset
31
Dave Love <fx@gnu.org>
parents:
diff changeset
32 #define XME_CODE_COUNT 17
Dave Love <fx@gnu.org>
parents:
diff changeset
33
Dave Love <fx@gnu.org>
parents:
diff changeset
34 #define XME_NO_ERROR 0
Dave Love <fx@gnu.org>
parents:
diff changeset
35 #define XME_NOT_INIT 1
Dave Love <fx@gnu.org>
parents:
diff changeset
36 #define XME_ARG_BOUNDS 2
Dave Love <fx@gnu.org>
parents:
diff changeset
37 #define XME_P_NOT_FOUND 3
Dave Love <fx@gnu.org>
parents:
diff changeset
38 #define XME_S_NOT_FOUND 4
Dave Love <fx@gnu.org>
parents:
diff changeset
39 #define XME_STYLE_PARAM 5
Dave Love <fx@gnu.org>
parents:
diff changeset
40 #define XME_GRAB_MOUSE 6
Dave Love <fx@gnu.org>
parents:
diff changeset
41 #define XME_INTERP_LOC 7
Dave Love <fx@gnu.org>
parents:
diff changeset
42 #define XME_CALLOC 8
Dave Love <fx@gnu.org>
parents:
diff changeset
43 #define XME_CREATE_ASSOC 9
Dave Love <fx@gnu.org>
parents:
diff changeset
44 #define XME_STORE_BITMAP 10
Dave Love <fx@gnu.org>
parents:
diff changeset
45 #define XME_MAKE_TILES 11
Dave Love <fx@gnu.org>
parents:
diff changeset
46 #define XME_MAKE_PIXMAP 12
Dave Love <fx@gnu.org>
parents:
diff changeset
47 #define XME_CREATE_CURSOR 13
Dave Love <fx@gnu.org>
parents:
diff changeset
48 #define XME_OPEN_FONT 14
Dave Love <fx@gnu.org>
parents:
diff changeset
49 #define XME_CREATE_WINDOW 15
Dave Love <fx@gnu.org>
parents:
diff changeset
50 #define XME_CREATE_TRANSP 16
Dave Love <fx@gnu.org>
parents:
diff changeset
51
Dave Love <fx@gnu.org>
parents:
diff changeset
52 /*
Dave Love <fx@gnu.org>
parents:
diff changeset
53 * XMenu error code and error list definitions.
Dave Love <fx@gnu.org>
parents:
diff changeset
54 */
Dave Love <fx@gnu.org>
parents:
diff changeset
55 extern int _XMErrorCode;
Dave Love <fx@gnu.org>
parents:
diff changeset
56 extern char *_XMErrorList[];
Dave Love <fx@gnu.org>
parents:
diff changeset
57
Dave Love <fx@gnu.org>
parents:
diff changeset
58 /*
Dave Love <fx@gnu.org>
parents:
diff changeset
59 * Define the XMWindow datatypes.
Dave Love <fx@gnu.org>
parents:
diff changeset
60 *
Dave Love <fx@gnu.org>
parents:
diff changeset
61 * An XMWindow is either an XMPane or an XMSelect.
Dave Love <fx@gnu.org>
parents:
diff changeset
62 *
Dave Love <fx@gnu.org>
parents:
diff changeset
63 * XMWindow is wrapper used to identify the constant window
Dave Love <fx@gnu.org>
parents:
diff changeset
64 * information that makes up XMPane and XMSelect objects.
Dave Love <fx@gnu.org>
parents:
diff changeset
65 *
Dave Love <fx@gnu.org>
parents:
diff changeset
66 * An XMPane is a menu pane made up of one or more XMSelect and a label.
Dave Love <fx@gnu.org>
parents:
diff changeset
67 *
Dave Love <fx@gnu.org>
parents:
diff changeset
68 * An XMSelect is a menu selection object with a label and a data pointer.
Dave Love <fx@gnu.org>
parents:
diff changeset
69 */
Dave Love <fx@gnu.org>
parents:
diff changeset
70 typedef enum _xmwintype {PANE, SELECTION, PL_HEADER, SL_HEADER, SEPARATOR} XMWType;
Dave Love <fx@gnu.org>
parents:
diff changeset
71
Dave Love <fx@gnu.org>
parents:
diff changeset
72 typedef struct _xmwindow {
Dave Love <fx@gnu.org>
parents:
diff changeset
73 struct _xmwindow *next; /* Next obj pointer (for emacs_insque). */
Dave Love <fx@gnu.org>
parents:
diff changeset
74 struct _xmwindow *prev; /* Prev obj pointer (for emacs_insque). */
Dave Love <fx@gnu.org>
parents:
diff changeset
75 XMWType type; /* Type of window. */
Dave Love <fx@gnu.org>
parents:
diff changeset
76 Window window; /* X Window Id. */
Dave Love <fx@gnu.org>
parents:
diff changeset
77 int window_x; /* Window upper left X coordinate. */
Dave Love <fx@gnu.org>
parents:
diff changeset
78 int window_y; /* Window upper left y coordinate. */
Dave Love <fx@gnu.org>
parents:
diff changeset
79 int window_w; /* Window width. */
Dave Love <fx@gnu.org>
parents:
diff changeset
80 int window_h; /* Window height. */
Dave Love <fx@gnu.org>
parents:
diff changeset
81 int active; /* Window active? */
Dave Love <fx@gnu.org>
parents:
diff changeset
82 int activated; /* Window activated? */
Dave Love <fx@gnu.org>
parents:
diff changeset
83 int pad_l1; /* ---- */
Dave Love <fx@gnu.org>
parents:
diff changeset
84 char *pad_l2; /* ---- */
Dave Love <fx@gnu.org>
parents:
diff changeset
85 int pad_l3; /* ---- */
Dave Love <fx@gnu.org>
parents:
diff changeset
86 int pad_l4; /* ---- */
Dave Love <fx@gnu.org>
parents:
diff changeset
87 int pad_l5; /* ---- */
Dave Love <fx@gnu.org>
parents:
diff changeset
88 int pad_l6; /* ---- */
Dave Love <fx@gnu.org>
parents:
diff changeset
89 int pad_l7; /* ---- */
Dave Love <fx@gnu.org>
parents:
diff changeset
90 int pad_l8; /* ---- */
Dave Love <fx@gnu.org>
parents:
diff changeset
91 struct _xmwindow *pad_l9; /* ---- */
Dave Love <fx@gnu.org>
parents:
diff changeset
92 char *pad_l10; /* ---- */
Dave Love <fx@gnu.org>
parents:
diff changeset
93 struct _xmwindow *pad_l11; /* ---- */
Dave Love <fx@gnu.org>
parents:
diff changeset
94 } XMWindow;
Dave Love <fx@gnu.org>
parents:
diff changeset
95
Dave Love <fx@gnu.org>
parents:
diff changeset
96 typedef struct _xmpane {
Dave Love <fx@gnu.org>
parents:
diff changeset
97 struct _xmpane *next; /* Next obj pointer (for emacs_insque). */
Dave Love <fx@gnu.org>
parents:
diff changeset
98 struct _xmpane *prev; /* Prev obj pointer (for emacs_insque). */
Dave Love <fx@gnu.org>
parents:
diff changeset
99 XMWType type; /* Type of window. */
Dave Love <fx@gnu.org>
parents:
diff changeset
100 Window window; /* X Window Id. */
Dave Love <fx@gnu.org>
parents:
diff changeset
101 int window_x; /* Window upper left X coordinate. */
Dave Love <fx@gnu.org>
parents:
diff changeset
102 int window_y; /* Window upper left y coordinate. */
Dave Love <fx@gnu.org>
parents:
diff changeset
103 int window_w; /* Window width. */
Dave Love <fx@gnu.org>
parents:
diff changeset
104 int window_h; /* Window height. */
Dave Love <fx@gnu.org>
parents:
diff changeset
105 int active; /* Window active? */
Dave Love <fx@gnu.org>
parents:
diff changeset
106 int activated; /* Window activated? */
Dave Love <fx@gnu.org>
parents:
diff changeset
107 int serial; /* -- Pane serial number. */
Dave Love <fx@gnu.org>
parents:
diff changeset
108 char *label; /* -- Pane label. */
Dave Love <fx@gnu.org>
parents:
diff changeset
109 int label_width; /* -- Pane label width in pixels. */
Dave Love <fx@gnu.org>
parents:
diff changeset
110 int label_length; /* -- Pane label length in chars. */
Dave Love <fx@gnu.org>
parents:
diff changeset
111 int label_x; /* -- Pane label X offset. */
Dave Love <fx@gnu.org>
parents:
diff changeset
112 int label_uy; /* -- Pane label upper Y offset. */
Dave Love <fx@gnu.org>
parents:
diff changeset
113 int label_ly; /* -- Pane label lower Y offset. */
Dave Love <fx@gnu.org>
parents:
diff changeset
114 int s_count; /* -- Selections in this pane. */
Dave Love <fx@gnu.org>
parents:
diff changeset
115 struct _xmselect *s_list; /* -- Selection window list. */
Dave Love <fx@gnu.org>
parents:
diff changeset
116 char *pad_l10; /* ---- */
Dave Love <fx@gnu.org>
parents:
diff changeset
117 struct _xmwindow *pad_l11; /* ---- */
Dave Love <fx@gnu.org>
parents:
diff changeset
118 } XMPane;
Dave Love <fx@gnu.org>
parents:
diff changeset
119
Dave Love <fx@gnu.org>
parents:
diff changeset
120 typedef struct _xmselect {
Dave Love <fx@gnu.org>
parents:
diff changeset
121 struct _xmselect *next; /* Next obj pointer (for emacs_insque). */
Dave Love <fx@gnu.org>
parents:
diff changeset
122 struct _xmselect *prev; /* Prev obj pointer (for emacs_insque). */
Dave Love <fx@gnu.org>
parents:
diff changeset
123 XMWType type; /* Type of window. */
Dave Love <fx@gnu.org>
parents:
diff changeset
124 Window window; /* X Window Id. */
Dave Love <fx@gnu.org>
parents:
diff changeset
125 Window parent; /* X Window id of parent window. */
Dave Love <fx@gnu.org>
parents:
diff changeset
126 int window_x; /* Window upper left X coordinate. */
Dave Love <fx@gnu.org>
parents:
diff changeset
127 int window_y; /* Window upper left y coordinate. */
Dave Love <fx@gnu.org>
parents:
diff changeset
128 int window_w; /* Window width. */
Dave Love <fx@gnu.org>
parents:
diff changeset
129 int window_h; /* Window height. */
Dave Love <fx@gnu.org>
parents:
diff changeset
130 int active; /* Window active? */
Dave Love <fx@gnu.org>
parents:
diff changeset
131 int activated; /* Window activated? */
Dave Love <fx@gnu.org>
parents:
diff changeset
132 int serial; /* -- Selection serial number. */
Dave Love <fx@gnu.org>
parents:
diff changeset
133 char *label; /* -- Selection label. */
Dave Love <fx@gnu.org>
parents:
diff changeset
134 int label_width; /* -- Selection label width in pixels. */
Dave Love <fx@gnu.org>
parents:
diff changeset
135 int label_length; /* -- Selection label length in chars. */
Dave Love <fx@gnu.org>
parents:
diff changeset
136 int label_x; /* -- Selection label X offset. */
Dave Love <fx@gnu.org>
parents:
diff changeset
137 int label_y; /* -- Selection label Y offset. */
Dave Love <fx@gnu.org>
parents:
diff changeset
138 int pad_l7; /* ---- */
Dave Love <fx@gnu.org>
parents:
diff changeset
139 int pad_l8; /* ---- */
Dave Love <fx@gnu.org>
parents:
diff changeset
140 struct _xmwindow *pad_l9; /* ---- */
Dave Love <fx@gnu.org>
parents:
diff changeset
141 char *data; /* -- Selection data pointer. */
Dave Love <fx@gnu.org>
parents:
diff changeset
142 struct _xmpane *parent_p; /* -- Selection parent pane structure. */
27454
60bf61bbd0b3 (XmSelect): Add member `help_string'.
Gerd Moellmann <gerd@gnu.org>
parents: 25858
diff changeset
143 char *help_string; /* Help string or null. */
25858
Dave Love <fx@gnu.org>
parents:
diff changeset
144 } XMSelect;
Dave Love <fx@gnu.org>
parents:
diff changeset
145
Dave Love <fx@gnu.org>
parents:
diff changeset
146
Dave Love <fx@gnu.org>
parents:
diff changeset
147 /*
Dave Love <fx@gnu.org>
parents:
diff changeset
148 * Define the XMStyle datatype.
Dave Love <fx@gnu.org>
parents:
diff changeset
149 *
Dave Love <fx@gnu.org>
parents:
diff changeset
150 * Menu presentation style information.
Dave Love <fx@gnu.org>
parents:
diff changeset
151 *
Dave Love <fx@gnu.org>
parents:
diff changeset
152 */
Dave Love <fx@gnu.org>
parents:
diff changeset
153 typedef enum _xmstyle {
Dave Love <fx@gnu.org>
parents:
diff changeset
154 LEFT, /* Left oriented obejct. */
Dave Love <fx@gnu.org>
parents:
diff changeset
155 RIGHT, /* Right oriented obejct. */
Dave Love <fx@gnu.org>
parents:
diff changeset
156 CENTER /* Center oriented object. */
Dave Love <fx@gnu.org>
parents:
diff changeset
157 } XMStyle;
Dave Love <fx@gnu.org>
parents:
diff changeset
158
Dave Love <fx@gnu.org>
parents:
diff changeset
159
Dave Love <fx@gnu.org>
parents:
diff changeset
160 /*
Dave Love <fx@gnu.org>
parents:
diff changeset
161 * Define the XMMode datatype.
Dave Love <fx@gnu.org>
parents:
diff changeset
162 *
Dave Love <fx@gnu.org>
parents:
diff changeset
163 * Menu presentation mode information.
Dave Love <fx@gnu.org>
parents:
diff changeset
164 *
Dave Love <fx@gnu.org>
parents:
diff changeset
165 */
Dave Love <fx@gnu.org>
parents:
diff changeset
166 typedef enum _xmmode {
Dave Love <fx@gnu.org>
parents:
diff changeset
167 BOX, /* BOXed graphic rendition. */
Dave Love <fx@gnu.org>
parents:
diff changeset
168 INVERT /* INVERTed graphic rendition. */
Dave Love <fx@gnu.org>
parents:
diff changeset
169 } XMMode;
Dave Love <fx@gnu.org>
parents:
diff changeset
170
Dave Love <fx@gnu.org>
parents:
diff changeset
171
Dave Love <fx@gnu.org>
parents:
diff changeset
172 /*
Dave Love <fx@gnu.org>
parents:
diff changeset
173 * Define the XMenu datatype.
Dave Love <fx@gnu.org>
parents:
diff changeset
174 *
Dave Love <fx@gnu.org>
parents:
diff changeset
175 * All dimensions are in pixels unless otherwise noted.
Dave Love <fx@gnu.org>
parents:
diff changeset
176 */
Dave Love <fx@gnu.org>
parents:
diff changeset
177 typedef struct _xmenu {
Dave Love <fx@gnu.org>
parents:
diff changeset
178 /* -------------------- Menu data -------------------- */
Dave Love <fx@gnu.org>
parents:
diff changeset
179 XMStyle menu_style; /* Menu display style. */
Dave Love <fx@gnu.org>
parents:
diff changeset
180 XMMode menu_mode; /* Menu display mode. */
Dave Love <fx@gnu.org>
parents:
diff changeset
181 int freeze; /* Freeze server mode? */
Dave Love <fx@gnu.org>
parents:
diff changeset
182 int aeq; /* Asynchronous Event Queuing mode? */
Dave Love <fx@gnu.org>
parents:
diff changeset
183 int recompute; /* Recompute menu dependencies? */
Dave Love <fx@gnu.org>
parents:
diff changeset
184 Window parent; /* Menu's parent window. */
Dave Love <fx@gnu.org>
parents:
diff changeset
185 int width; /* Overall menu width. */
Dave Love <fx@gnu.org>
parents:
diff changeset
186 int height; /* Overall menu height. */
Dave Love <fx@gnu.org>
parents:
diff changeset
187 int x_pos; /* Oveall menu origin. */
Dave Love <fx@gnu.org>
parents:
diff changeset
188 int y_pos; /* Overall menu origin. */
Dave Love <fx@gnu.org>
parents:
diff changeset
189 Cursor mouse_cursor; /* Mouse cursor raster. */
Dave Love <fx@gnu.org>
parents:
diff changeset
190 XAssocTable *assoc_tab; /* XMWindow association table. */
Dave Love <fx@gnu.org>
parents:
diff changeset
191 XMPane *p_list; /* List of XMPanes. */
Dave Love <fx@gnu.org>
parents:
diff changeset
192 /* -------------------- Pane window data -------------------- */
Dave Love <fx@gnu.org>
parents:
diff changeset
193 XMStyle p_style; /* Pane display style. */
Dave Love <fx@gnu.org>
parents:
diff changeset
194 int p_events; /* Pane window X events. */
Dave Love <fx@gnu.org>
parents:
diff changeset
195 XFontStruct *p_fnt_info; /* Flag font info structure. */
Dave Love <fx@gnu.org>
parents:
diff changeset
196 GC pane_GC; /* Pane graphics context. */
Dave Love <fx@gnu.org>
parents:
diff changeset
197 int p_fnt_pad; /* Fixed flag font padding in pixels. */
Dave Love <fx@gnu.org>
parents:
diff changeset
198 double p_spread; /* Pane spread in flag height fractions. */
Dave Love <fx@gnu.org>
parents:
diff changeset
199 int p_bdr_width; /* Pane border width. */
Dave Love <fx@gnu.org>
parents:
diff changeset
200 int flag_height; /* Flag height. */
Dave Love <fx@gnu.org>
parents:
diff changeset
201 int p_width; /* Menu pane width. */
Dave Love <fx@gnu.org>
parents:
diff changeset
202 int p_height; /* Menu pane height. */
Dave Love <fx@gnu.org>
parents:
diff changeset
203 int p_x_off; /* Pane window X offset. */
Dave Love <fx@gnu.org>
parents:
diff changeset
204 int p_y_off; /* Pane window Y offset. */
Dave Love <fx@gnu.org>
parents:
diff changeset
205 int p_count; /* Number of panes per menu. */
Dave Love <fx@gnu.org>
parents:
diff changeset
206 /* -------------------- Selection window data -------------------- */
Dave Love <fx@gnu.org>
parents:
diff changeset
207 XMStyle s_style; /* Selection display style. */
Dave Love <fx@gnu.org>
parents:
diff changeset
208 int s_events; /* Selection window X events. */
Dave Love <fx@gnu.org>
parents:
diff changeset
209 XFontStruct *s_fnt_info; /* Body font info structure. */
Dave Love <fx@gnu.org>
parents:
diff changeset
210 int s_fnt_pad; /* Fixed body font padding in pixels. */
Dave Love <fx@gnu.org>
parents:
diff changeset
211 double s_spread; /* Select spread in line height fractions. */
Dave Love <fx@gnu.org>
parents:
diff changeset
212 int s_bdr_width; /* Select border width. */
Dave Love <fx@gnu.org>
parents:
diff changeset
213 int s_width; /* Selection window width. */
Dave Love <fx@gnu.org>
parents:
diff changeset
214 int s_height; /* Selection window height. */
Dave Love <fx@gnu.org>
parents:
diff changeset
215 int s_x_off; /* Selection window X offset. */
Dave Love <fx@gnu.org>
parents:
diff changeset
216 int s_y_off; /* Selection window Y offset. */
Dave Love <fx@gnu.org>
parents:
diff changeset
217 int s_count; /* Maximum number of selections per pane. */
Dave Love <fx@gnu.org>
parents:
diff changeset
218 GC normal_select_GC; /* GC used for inactive selections. */
Dave Love <fx@gnu.org>
parents:
diff changeset
219 GC inverse_select_GC; /* GC used for active (current) selection. */
Dave Love <fx@gnu.org>
parents:
diff changeset
220 GC inact_GC; /* GC used for inactive selections and */
Dave Love <fx@gnu.org>
parents:
diff changeset
221 /* panes headers. */
Dave Love <fx@gnu.org>
parents:
diff changeset
222 /* -------------------- Color data -------------------- */
Dave Love <fx@gnu.org>
parents:
diff changeset
223 unsigned long p_bdr_color; /* Color of pane border pixmap. */
Dave Love <fx@gnu.org>
parents:
diff changeset
224 unsigned long s_bdr_color; /* Color of selection border pixmap. */
Dave Love <fx@gnu.org>
parents:
diff changeset
225 unsigned long p_frg_color; /* Color of pane foreground pixmap. */
Dave Love <fx@gnu.org>
parents:
diff changeset
226 unsigned long s_frg_color; /* Color of selection pixmap. */
Dave Love <fx@gnu.org>
parents:
diff changeset
227 unsigned long bkgnd_color; /* Color of menu background pixmap. */
Dave Love <fx@gnu.org>
parents:
diff changeset
228 /* -------------------- Pixmap data -------------------- */
Dave Love <fx@gnu.org>
parents:
diff changeset
229 Pixmap p_bdr_pixmap; /* Pane border pixmap. */
Dave Love <fx@gnu.org>
parents:
diff changeset
230 Pixmap s_bdr_pixmap; /* Selection border pixmap. */
Dave Love <fx@gnu.org>
parents:
diff changeset
231 Pixmap p_frg_pixmap; /* Pane foreground pixmap. */
Dave Love <fx@gnu.org>
parents:
diff changeset
232 Pixmap s_frg_pixmap; /* Selection foreground pixmap. */
Dave Love <fx@gnu.org>
parents:
diff changeset
233 Pixmap bkgnd_pixmap; /* Menu background pixmap. */
Dave Love <fx@gnu.org>
parents:
diff changeset
234 Pixmap inact_pixmap; /* Menu inactive pixmap. */
Dave Love <fx@gnu.org>
parents:
diff changeset
235 } XMenu;
Dave Love <fx@gnu.org>
parents:
diff changeset
236
Dave Love <fx@gnu.org>
parents:
diff changeset
237 /*
Dave Love <fx@gnu.org>
parents:
diff changeset
238 * XMenu library routine declarations.
Dave Love <fx@gnu.org>
parents:
diff changeset
239 */
Dave Love <fx@gnu.org>
parents:
diff changeset
240 XMenu *XMenuCreate();
Dave Love <fx@gnu.org>
parents:
diff changeset
241 int XMenuAddPane();
Dave Love <fx@gnu.org>
parents:
diff changeset
242 int XMenuAddSelection();
Dave Love <fx@gnu.org>
parents:
diff changeset
243 int XMenuInsertPane();
Dave Love <fx@gnu.org>
parents:
diff changeset
244 int XMenuInsertSelection();
Dave Love <fx@gnu.org>
parents:
diff changeset
245 int XMenuFindPane();
Dave Love <fx@gnu.org>
parents:
diff changeset
246 int XMenuFindSelection();
Dave Love <fx@gnu.org>
parents:
diff changeset
247 int XMenuChangePane();
Dave Love <fx@gnu.org>
parents:
diff changeset
248 int XMenuChangeSelection();
Dave Love <fx@gnu.org>
parents:
diff changeset
249 int XMenuSetPane();
Dave Love <fx@gnu.org>
parents:
diff changeset
250 int XMenuSetSelection();
Dave Love <fx@gnu.org>
parents:
diff changeset
251 int XMenuRecompute();
Dave Love <fx@gnu.org>
parents:
diff changeset
252 int XMenuEventHandler(); /* No value actually returned. */
Dave Love <fx@gnu.org>
parents:
diff changeset
253 int XMenuLocate();
Dave Love <fx@gnu.org>
parents:
diff changeset
254 int XMenuSetFreeze(); /* No value actually returned. */
Dave Love <fx@gnu.org>
parents:
diff changeset
255 int XMenuActivate();
Dave Love <fx@gnu.org>
parents:
diff changeset
256 char *XMenuPost();
Dave Love <fx@gnu.org>
parents:
diff changeset
257 int XMenuDeletePane();
Dave Love <fx@gnu.org>
parents:
diff changeset
258 int XMenuDeleteSelection();
Dave Love <fx@gnu.org>
parents:
diff changeset
259 int XMenuDestroy(); /* No value actually returned. */
Dave Love <fx@gnu.org>
parents:
diff changeset
260 char *XMenuError();
Dave Love <fx@gnu.org>
parents:
diff changeset
261
Dave Love <fx@gnu.org>
parents:
diff changeset
262 #endif
Dave Love <fx@gnu.org>
parents:
diff changeset
263 /* Don't add after this point. */