comparison src/xterm.h @ 57633:ead4249849ac

* xterm.h (x_output): New member `xic_base_fontname'. (FRAME_XIC_BASE_FONTNAME): New macro. (xic_free_xfontset): Declare. * xfns.c (xic_create_xfontset): Share fontsets between frames based on base_fontname. (xic_free_xfontset): New function. (free_frame_xic): Use it. (xic_set_xfontset): Ditto. * xterm.c (xim_destroy_callback): Ditto.
author Jan Djärv <jan.h.d@swipnet.se>
date Thu, 21 Oct 2004 18:38:58 +0000
parents 6178d4e9b661
children 328dc625a959 ae7fab96922c f3ec05478165
comparison
equal deleted inserted replaced
57632:ffffcbeaddac 57633:ead4249849ac
598 #ifdef HAVE_X_I18N 598 #ifdef HAVE_X_I18N
599 /* Input context (currently, this means Compose key handler setup). */ 599 /* Input context (currently, this means Compose key handler setup). */
600 XIC xic; 600 XIC xic;
601 XIMStyle xic_style; 601 XIMStyle xic_style;
602 XFontSet xic_xfs; 602 XFontSet xic_xfs;
603 char *xic_base_fontname;
603 #endif 604 #endif
604 605
605 /* Relief GCs, colors etc. */ 606 /* Relief GCs, colors etc. */
606 struct relief 607 struct relief
607 { 608 {
732 #define FRAME_XIC(f) ((f)->output_data.x->xic) 733 #define FRAME_XIC(f) ((f)->output_data.x->xic)
733 #define FRAME_X_XIM(f) (FRAME_X_DISPLAY_INFO (f)->xim) 734 #define FRAME_X_XIM(f) (FRAME_X_DISPLAY_INFO (f)->xim)
734 #define FRAME_X_XIM_STYLES(f) (FRAME_X_DISPLAY_INFO (f)->xim_styles) 735 #define FRAME_X_XIM_STYLES(f) (FRAME_X_DISPLAY_INFO (f)->xim_styles)
735 #define FRAME_XIC_STYLE(f) ((f)->output_data.x->xic_style) 736 #define FRAME_XIC_STYLE(f) ((f)->output_data.x->xic_style)
736 #define FRAME_XIC_FONTSET(f) ((f)->output_data.x->xic_xfs) 737 #define FRAME_XIC_FONTSET(f) ((f)->output_data.x->xic_xfs)
738 #define FRAME_XIC_BASE_FONTNAME(f) ((f)->output_data.x->xic_base_fontname)
737 739
738 /* Value is the smallest width of any character in any font on frame F. */ 740 /* Value is the smallest width of any character in any font on frame F. */
739 741
740 #define FRAME_SMALLEST_CHAR_WIDTH(F) \ 742 #define FRAME_SMALLEST_CHAR_WIDTH(F) \
741 FRAME_X_DISPLAY_INFO(F)->smallest_char_width 743 FRAME_X_DISPLAY_INFO(F)->smallest_char_width
1041 extern void x_set_border_pixel P_ ((struct frame *, int)); 1043 extern void x_set_border_pixel P_ ((struct frame *, int));
1042 extern void x_set_menu_bar_lines P_ ((struct frame *, Lisp_Object, Lisp_Object)); 1044 extern void x_set_menu_bar_lines P_ ((struct frame *, Lisp_Object, Lisp_Object));
1043 extern unsigned char * x_encode_text P_ ((Lisp_Object, Lisp_Object, int, 1045 extern unsigned char * x_encode_text P_ ((Lisp_Object, Lisp_Object, int,
1044 int *, int *)); 1046 int *, int *));
1045 extern void x_implicitly_set_name P_ ((struct frame *, Lisp_Object, Lisp_Object)); 1047 extern void x_implicitly_set_name P_ ((struct frame *, Lisp_Object, Lisp_Object));
1048 extern void xic_free_xfontset P_ ((struct frame *));
1046 extern void create_frame_xic P_ ((struct frame *)); 1049 extern void create_frame_xic P_ ((struct frame *));
1047 extern void destroy_frame_xic P_ ((struct frame *)); 1050 extern void destroy_frame_xic P_ ((struct frame *));
1048 extern void xic_set_preeditarea P_ ((struct window *, int, int)); 1051 extern void xic_set_preeditarea P_ ((struct window *, int, int));
1049 extern void xic_set_statusarea P_ ((struct frame *)); 1052 extern void xic_set_statusarea P_ ((struct frame *));
1050 extern void xic_set_xfontset P_ ((struct frame *, char *)); 1053 extern void xic_set_xfontset P_ ((struct frame *, char *));