Mercurial > hg > xemacs-beta
comparison src/console-x.h @ 70:131b0175ea99 r20-0b30
Import from CVS: tag r20-0b30
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:02:59 +0200 |
parents | 0293115a14e9 |
children | 54cc21c15cbb |
comparison
equal
deleted
inserted
replaced
69:804d1389bcd6 | 70:131b0175ea99 |
---|---|
154 But this means that a portable program cannot implement | 154 But this means that a portable program cannot implement |
155 compose processing! WTF? | 155 compose processing! WTF? |
156 | 156 |
157 So we just set it to all zeros. */ | 157 So we just set it to all zeros. */ |
158 | 158 |
159 XComposeStatus x_compose_status; | 159 /* No X Server ever used this, AFAIK -- mrb */ |
160 /* XComposeStatus x_compose_status; */ | |
161 | |
162 #ifdef HAVE_XIM | |
163 XIM xim; | |
164 XIMStyles *xim_styles; | |
165 #endif /* HAVE_XIM */ | |
160 | 166 |
161 /* stuff for sticky modifiers: */ | 167 /* stuff for sticky modifiers: */ |
162 | 168 |
163 unsigned int need_to_add_mask, down_mask; | 169 unsigned int need_to_add_mask, down_mask; |
164 KeyCode last_downkey; | 170 KeyCode last_downkey; |
176 #define DEVICE_X_MOUSE_TIMESTAMP(d) (DEVICE_X_DATA (d)->mouse_timestamp) | 182 #define DEVICE_X_MOUSE_TIMESTAMP(d) (DEVICE_X_DATA (d)->mouse_timestamp) |
177 #define DEVICE_X_GLOBAL_MOUSE_TIMESTAMP(d) \ | 183 #define DEVICE_X_GLOBAL_MOUSE_TIMESTAMP(d) \ |
178 (DEVICE_X_DATA (d)->global_mouse_timestamp) | 184 (DEVICE_X_DATA (d)->global_mouse_timestamp) |
179 #define DEVICE_X_LAST_SERVER_TIMESTAMP(d) \ | 185 #define DEVICE_X_LAST_SERVER_TIMESTAMP(d) \ |
180 (DEVICE_X_DATA (d)->last_server_timestamp) | 186 (DEVICE_X_DATA (d)->last_server_timestamp) |
181 #define DEVICE_X_X_COMPOSE_STATUS(d) (DEVICE_X_DATA (d)->x_compose_status) | 187 /* #define DEVICE_X_X_COMPOSE_STATUS(d) |
188 (DEVICE_X_DATA (d)->x_compose_status) */ | |
189 #ifdef HAVE_XIM | |
190 #define DEVICE_X_XIM(d) (DEVICE_X_DATA (d)->xim) | |
191 #define DEVICE_X_XIM_STYLES(d) (DEVICE_X_DATA (d)->xim_styles) | |
192 #define DEVICE_X_FONTSET(d) (DEVICE_X_DATA (d)->fontset) | |
193 #endif /* HAVE_XIM */ | |
182 | 194 |
183 /* allocated in Xatoms_of_xfns in xfns.c */ | 195 /* allocated in Xatoms_of_xfns in xfns.c */ |
184 #define DEVICE_XATOM_WM_PROTOCOLS(d) (DEVICE_X_DATA (d)->Xatom_WM_PROTOCOLS) | 196 #define DEVICE_XATOM_WM_PROTOCOLS(d) (DEVICE_X_DATA (d)->Xatom_WM_PROTOCOLS) |
185 #define DEVICE_XATOM_WM_DELETE_WINDOW(d) \ | 197 #define DEVICE_XATOM_WM_DELETE_WINDOW(d) \ |
186 (DEVICE_X_DATA (d)->Xatom_WM_DELETE_WINDOW) | 198 (DEVICE_X_DATA (d)->Xatom_WM_DELETE_WINDOW) |
257 int *desired_psheets; | 269 int *desired_psheets; |
258 int current_psheet_count; | 270 int current_psheet_count; |
259 int desired_psheet_count; | 271 int desired_psheet_count; |
260 Lisp_Object current_psheet_buffer; | 272 Lisp_Object current_psheet_buffer; |
261 Lisp_Object desired_psheet_buffer; | 273 Lisp_Object desired_psheet_buffer; |
262 #endif /* ENERGIZE */ | 274 #endif |
263 | 275 |
264 /*************************** Miscellaneous **************************/ | 276 /*************************** Miscellaneous **************************/ |
265 | 277 |
266 /* The icon pixmaps; these are Lisp_Image_Instance objects, or Qnil. */ | 278 /* The icon pixmaps; these are Lisp_Image_Instance objects, or Qnil. */ |
267 Lisp_Object icon_pixmap; | 279 Lisp_Object icon_pixmap; |
276 GC toolbar_pixmap_background_gc; | 288 GC toolbar_pixmap_background_gc; |
277 | 289 |
278 /* geometry string that ought to be freed. */ | 290 /* geometry string that ought to be freed. */ |
279 char *geom_free_me_please; | 291 char *geom_free_me_please; |
280 | 292 |
293 #ifdef HAVE_XIM | |
294 XPoint xic_spot; /* Spot Location cache */ | |
295 #ifdef XIM_XLIB | |
296 XIC xic; | |
297 /* Could get these at any time by asking xic, but... */ | |
298 XIMStyle xic_style; /* XIM Style cache */ | |
299 #endif /* XIM_XLIB */ | |
300 #endif /* HAVE_XIM */ | |
281 | 301 |
282 int old_toolbar_size[4]; | 302 int old_toolbar_size[4]; |
283 | 303 |
284 /* 1 if the frame is completely visible on the display, 0 otherwise. | 304 /* 1 if the frame is completely visible on the display, 0 otherwise. |
285 if 0 the frame may have been iconified or may be totally | 305 if 0 the frame may have been iconified or may be totally |
286 or partially hidden by another X window */ | 306 or partially hidden by another X window */ |
287 unsigned int totally_visible_p :1; | 307 int totally_visible_p :1; |
288 | 308 |
289 /* NB: Both of the following flags are derivable from the 'shell' | 309 /* NB: Both of the following flags are derivable from the 'shell' |
290 field above, but it's easier if we also have them separately here. */ | 310 field above, but it's easier if we also have them separately here. */ |
291 | 311 |
292 /* Are we a top-level frame? This means that our shell is a | 312 /* Are we a top-level frame? This means that our shell is a |
293 TopLevelShell, and we should do certain things to interact with | 313 TopLevelShell, and we should do certain things to interact with |
294 the window manager. */ | 314 the window manager. */ |
295 unsigned int top_level_frame_p :1; | 315 int top_level_frame_p :1; |
296 | 316 |
297 #ifdef EXTERNAL_WIDGET | 317 #ifdef EXTERNAL_WIDGET |
298 /* Are we using somebody else's window for our shell window? This | 318 /* Are we using somebody else's window for our shell window? This |
299 means that our shell is an ExternalShell. If this flag is set, then | 319 means that our shell is an ExternalShell. If this flag is set, then |
300 `top_level_frame_p' will never be set. */ | 320 `top_level_frame_p' will never be set. */ |
301 unsigned int external_window_p :1; | 321 int external_window_p :1; |
302 #endif /* EXTERNAL_WIDGET */ | 322 #endif /* EXTERNAL_WIDGET */ |
303 }; | 323 }; |
304 | 324 |
305 #define FRAME_X_DATA(f) FRAME_TYPE_DATA (f, x) | 325 #define FRAME_X_DATA(f) FRAME_TYPE_DATA (f, x) |
306 | 326 |
345 #define FRAME_X_TOP_LEVEL_FRAME_P(f) (FRAME_X_DATA (f)->top_level_frame_p) | 365 #define FRAME_X_TOP_LEVEL_FRAME_P(f) (FRAME_X_DATA (f)->top_level_frame_p) |
346 | 366 |
347 #ifdef EXTERNAL_WIDGET | 367 #ifdef EXTERNAL_WIDGET |
348 #define FRAME_X_EXTERNAL_WINDOW_P(f) (FRAME_X_DATA (f)->external_window_p) | 368 #define FRAME_X_EXTERNAL_WINDOW_P(f) (FRAME_X_DATA (f)->external_window_p) |
349 #endif | 369 #endif |
370 | |
371 #ifdef HAVE_XIM | |
372 #define FRAME_X_XIC_SPOT(f) (FRAME_X_DATA (f)->xic_spot) | |
373 #ifdef XIM_XLIB | |
374 #define FRAME_X_XIC(f) (FRAME_X_DATA (f)->xic) | |
375 #define FRAME_X_XIC_STYLE(f) (FRAME_X_DATA (f)->xic_style) | |
376 #endif /* XIM_XLIB */ | |
377 #endif /* HAVE_XIM */ | |
350 | 378 |
351 /* This needs to go in an include file that's included by inline.c | 379 /* This needs to go in an include file that's included by inline.c |
352 in order for the error-checking functions to get defined. */ | 380 in order for the error-checking functions to get defined. */ |
353 #ifdef EPOCH | 381 #ifdef EPOCH |
354 DECLARE_LRECORD (x_resource, struct Lisp_X_Resource); | 382 DECLARE_LRECORD (x_resource, struct Lisp_X_Resource); |
432 | 460 |
433 Lisp_Object x_atom_to_symbol (struct device *d, Atom atom); | 461 Lisp_Object x_atom_to_symbol (struct device *d, Atom atom); |
434 Atom symbol_to_x_atom (struct device *d, Lisp_Object sym, | 462 Atom symbol_to_x_atom (struct device *d, Lisp_Object sym, |
435 int only_if_exists); | 463 int only_if_exists); |
436 | 464 |
465 #ifdef HAVE_XIM | |
466 /* Locale */ | |
467 void Initialize_Locale (void); | |
468 | |
469 /* X Input Method `methods' */ | |
470 void XIM_init_device (struct device *d); | |
471 void XIM_init_frame (struct frame *f); | |
472 void XIM_SetSpotLocation (struct frame *f, int x, int y); | |
473 void XIM_SetGeometry (struct frame *f); | |
474 void XIM_focus_event (struct frame *f, int in_p); | |
475 | |
476 #ifdef XIM_XLIB | |
477 /* XtTypeConverter */ | |
478 Boolean EmacsXtCvtStringToXIMStyles ( | |
479 Display *dpy, | |
480 XrmValuePtr args, | |
481 Cardinal *num_args, | |
482 XrmValuePtr from, | |
483 XrmValuePtr to_in_out, | |
484 XtPointer *converter_data); | |
485 | |
486 /* XtDestructor */ | |
487 void EmacsFreeXIMStyles ( | |
488 XtAppContext app, | |
489 XrmValuePtr to, | |
490 XtPointer converter_data, | |
491 XrmValuePtr args, | |
492 Cardinal *num_args); | |
493 | |
494 #ifdef DEBUG_XEMACS | |
495 void describe_Window (Window win); | |
496 void describe_XFontSet (XFontSet font_set); | |
497 void describe_XIM (XIM im); | |
498 void describe_XIMStyle (XIMStyle style); | |
499 void describe_XIMStyles (XIMStyles *styles); | |
500 void describe_XIC (XIC ic); | |
501 void describe_event_mask (unsigned long mask); | |
502 void describe_XRectangle (char *name, XRectangle *rect); | |
503 void describe_Status (Status status); | |
504 #endif /* DEBUG_XEMACS */ | |
505 #endif /* XIM_XLIB */ | |
506 #endif /* HAVE_XIM */ | |
507 | |
437 #ifdef EPOCH | 508 #ifdef EPOCH |
438 extern Lisp_Object Qx_property_change, Qx_client_message, Qx_map, Qx_unmap; | 509 extern Lisp_Object Qx_property_change, Qx_client_message, Qx_map, Qx_unmap; |
439 extern Lisp_Object Vepoch_event, Vepoch_event_handler; | 510 extern Lisp_Object Vepoch_event, Vepoch_event_handler; |
440 #endif | 511 #endif |
441 | 512 |