0
|
1 /*
|
|
2 * $Id: xjutil.h,v 1.2 2001/06/14 18:16:13 ura Exp $
|
|
3 */
|
|
4
|
|
5 /*
|
|
6 * FreeWnn is a network-extensible Kana-to-Kanji conversion system.
|
|
7 * This file is part of FreeWnn.
|
|
8 *
|
|
9 * Copyright OMRON Corporation. 1987, 1988, 1989, 1990, 1991, 1992, 1999
|
|
10 * Copyright 1991, 1992 by Massachusetts Institute of Technology
|
|
11 *
|
|
12 * Author: OMRON SOFTWARE Co., Ltd. <freewnn@rd.kyoto.omronsoft.co.jp>
|
|
13 *
|
|
14 * This program is free software; you can redistribute it and/or modify
|
|
15 * it under the terms of the GNU General Public License as published by
|
|
16 * the Free Software Foundation; either version 2, or (at your option)
|
|
17 * any later version.
|
|
18 *
|
|
19 * This program is distributed in the hope that it will be useful,
|
|
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
22 * GNU General Public License for more details.
|
|
23 *
|
|
24 * You should have received a copy of the GNU General Public License
|
|
25 * along with GNU Emacs; see the file COPYING. If not, write to the
|
|
26 * Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
27 *
|
|
28 * Commentary:
|
|
29 *
|
|
30 * Change log:
|
|
31 *
|
|
32 * Last modified date: 8,Feb.1999
|
|
33 *
|
|
34 * Code:
|
|
35 *
|
|
36 */
|
|
37 /* Version 4.0
|
|
38 */
|
|
39 /*********
|
|
40
|
|
41 dicserver.h
|
|
42
|
|
43 *********/
|
|
44
|
|
45 #include <X11/Xlib.h>
|
|
46 #include <X11/IntrinsicP.h>
|
|
47 #include <X11/Xutil.h>
|
|
48 #include <X11/Xatom.h>
|
|
49 #include <X11/keysym.h>
|
|
50 #ifdef X11R5
|
|
51 #include "Xi18nint.h"
|
|
52 #else
|
|
53 #include "Xlcint.h"
|
|
54 #include <X11/Xlocale.h>
|
|
55 #endif /* X11R5 */
|
|
56 #include "msg.h"
|
|
57 #include "xim.h"
|
|
58 /*
|
|
59 #include "rk_header.h"
|
|
60 #include "rk_multi.h"
|
|
61 */
|
|
62
|
|
63 typedef struct _XjutilFSRec
|
|
64 {
|
|
65 XFontSet fs;
|
|
66 XCharStruct *b_char;
|
|
67 int act;
|
|
68 struct _XjutilFSRec *next;
|
|
69 }
|
|
70 XjutilFSRec;
|
|
71
|
|
72 typedef XjutilFSRec *XjutilFSList;
|
|
73
|
|
74 typedef struct _JutilTextRec
|
|
75 {
|
|
76 Window wp;
|
|
77 Window w;
|
|
78 Window wn[3];
|
|
79 long x;
|
|
80 long y;
|
|
81 long width;
|
|
82 long height;
|
|
83 long bp;
|
|
84 short max_columns;
|
|
85 short vst;
|
|
86 wchar *buf;
|
|
87 unsigned char *att;
|
|
88 short max_pos;
|
|
89 short currentcol;
|
|
90 short maxcolumns;
|
|
91 short note[2];
|
|
92 unsigned char cursor_flag;
|
|
93 unsigned char mark_flag;
|
|
94 unsigned char u_line_flag;
|
|
95 unsigned char r_flag;
|
|
96 unsigned char b_flag;
|
|
97 }
|
|
98 JutilTextRec;
|
|
99
|
|
100 #define JCLIENTS 4
|
|
101
|
|
102 typedef struct _JutilRec
|
|
103 {
|
|
104 Window w;
|
|
105 BoxRec *rk_mode;
|
|
106 BoxRec *title;
|
|
107 BoxRec *button[MAX_JU_BUTTON];
|
|
108 int max_button;
|
|
109 BoxRec *mes_button[JCLIENTS];
|
|
110 int mes_mode_return[JCLIENTS];
|
|
111 int max_mes;
|
|
112 JutilTextRec *mes_text[JCLIENTS];
|
|
113 int mode;
|
|
114 int mes_mode;
|
|
115 XPoint save_p;
|
|
116 }
|
|
117 JutilRec;
|
|
118
|
|
119 typedef struct _Xjutil
|
|
120 {
|
|
121 char *lang;
|
|
122 char *lc_name;
|
|
123 unsigned int cswidth_id;
|
|
124 #ifdef X11R5
|
|
125 XLocale xlc;
|
|
126 #else
|
|
127 XLCd xlc;
|
|
128 #endif /* X11R5 */
|
|
129 int mode; /* ICHIRAN or JUTIL */
|
|
130 int screen_count;
|
|
131 XIMRootRec **root_pointer;
|
|
132 int default_screen;
|
|
133 short sel_ret;
|
|
134 char sel_button;
|
|
135 unsigned char work;
|
|
136 char save_under;
|
|
137 }
|
|
138 Xjutil;
|
|
139
|
|
140 extern Display *dpy;
|
|
141 extern Atom select_id;
|
|
142
|
|
143 #define FontWidth (cur_fs->b_char->width)
|
|
144 #define FontAscent (cur_fs->b_char->ascent)
|
|
145 #define FontDescent (cur_fs->b_char->descent)
|
|
146 #define FontHeight (FontAscent + FontDescent)
|
|
147
|
|
148 #define print_out_func (f_table->print_out_function)
|
|
149 #define input_func (f_table->input_function)
|
|
150 #define call_t_redraw_move_func (f_table->call_t_redraw_move_function)
|
|
151 #define call_t_redraw_move_1_func (f_table->call_t_redraw_move_1_function)
|
|
152 #define call_t_redraw_move_2_func (f_table->call_t_redraw_move_2_function)
|
|
153 #define call_t_print_l_func (f_table->call_t_print_l_function)
|
|
154 #define redraw_when_chmsig_func (f_table->redraw_when_chmsig_function)
|
|
155 #define char_len_func (f_table->char_len_function)
|
|
156 #define char_q_len_func (f_table->char_q_len_function)
|
|
157 #define t_redraw_move_func (f_table->t_redraw_move_function)
|
|
158 #define t_print_l_func (f_table->t_print_l_function)
|
|
159 #define c_top_func (f_table->c_top_function)
|
|
160 #define c_end_func (f_table->c_end_function)
|
|
161 #define c_end_nobi_func (f_table->c_end_nobi_function)
|
|
162 #define hani_settei_func (f_table->hani_settei_function)
|
|
163
|
|
164 #define cur_env (env_is_reverse? cur_reverse_env->env: cur_normal_env->env)
|