diff src/xterm.h @ 27501:ea054e85f0e2

(struct x_display_info) [HAVE_X_I18N]: Add members `xim' and `xim_styles'. (struct x_output) [HAVE_X_I18N]: Remove member `xim', add `xic_style' and `xic_xfs'. (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES) (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros. (FRAME_XIM): Removed.
author Gerd Moellmann <gerd@gnu.org>
date Sat, 29 Jan 2000 23:17:15 +0000
parents 0020f5359d09
children 8cc3bff16c28
line wrap: on
line diff
--- a/src/xterm.h	Sat Jan 29 23:16:55 2000 +0000
+++ b/src/xterm.h	Sat Jan 29 23:17:15 2000 +0000
@@ -344,6 +344,12 @@
 
   /* Cache of images.  */
   struct image_cache *image_cache;
+
+#ifdef HAVE_X_I18N
+  /* XIM (X Input method).  */
+  XIM xim;
+  XIMStyles *xim_styles;
+#endif
 };
 
 /* This is a chain of structures for all the X displays currently in use.  */
@@ -547,10 +553,10 @@
   char has_been_visible;
 
 #ifdef HAVE_X_I18N
-  /* Input method. */
-  XIM xim;
   /* Input context (currently, this means Compose key handler setup).  */
   XIC xic;
+  XIMStyle xic_style;
+  XFontSet xic_xfs;
 #endif
 
   /* Relief GCs, colors etc.  */
@@ -580,6 +586,7 @@
 #define FRAME_FONT(f) ((f)->output_data.x->font)
 #define FRAME_FONTSET(f) ((f)->output_data.x->fontset)
 #define FRAME_INTERNAL_BORDER_WIDTH(f) ((f)->output_data.x->internal_border_width)
+#define FRAME_MENUBAR_HEIGHT(f) ((f)->output_data.x->menubar_height)
 #define FRAME_LINE_HEIGHT(f) ((f)->output_data.x->line_height)
 
 /* Width of the default font of frame F.  Must be defined by each
@@ -604,8 +611,11 @@
 
 #define FRAME_DESIRED_CURSOR(f) ((f)->output_data.x->desired_cursor)
 
-#define FRAME_XIM(f) ((f)->output_data.x->xim)
 #define FRAME_XIC(f) ((f)->output_data.x->xic)
+#define FRAME_X_XIM(f) (FRAME_X_DISPLAY_INFO (f)->xim)
+#define FRAME_X_XIM_STYLES(f) (FRAME_X_DISPLAY_INFO (f)->xim_styles)
+#define FRAME_XIC_STYLE(f) ((f)->output_data.x->xic_style)
+#define FRAME_XIC_FONTSET(f) ((f)->output_data.x->xic_xfs)
 
 /* Value is the smallest width of any character in any font on frame F.  */
 
@@ -992,6 +1002,11 @@
 extern void x_set_border_pixel P_ ((struct frame *, int));
 extern void x_set_menu_bar_lines P_ ((struct frame *, Lisp_Object, Lisp_Object));
 extern void x_implicitly_set_name P_ ((struct frame *, Lisp_Object, Lisp_Object));
+extern void create_frame_xic P_ ((struct frame *));
+extern void destroy_frame_xic P_ ((struct frame *));
+extern void xic_set_preeditarea P_ ((struct window *, int, int));
+extern void xic_set_statusarea P_ ((struct frame *));
+extern void xic_set_xfontset P_ ((struct frame *, char *));
 extern int x_pixel_width P_ ((struct frame *));
 extern int x_pixel_height P_ ((struct frame *));
 extern int x_char_width P_ ((struct frame *));