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