Mercurial > kinput2.yaz
comparison include/ConvProto.h @ 0:92745d501b9a
initial import from kinput2-v3.1
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Mon, 08 Mar 2010 04:44:30 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:92745d501b9a |
---|---|
1 /* $Id: ConvProto.h,v 1.6 1999/01/07 03:06:22 ishisone Exp $ */ | |
2 /* | |
3 * Copyright (c) 1991 Software Research Associates, Inc. | |
4 * | |
5 * Permission to use, copy, modify, and distribute this software and its | |
6 * documentation for any purpose and without fee is hereby granted, provided | |
7 * that the above copyright notice appear in all copies and that both that | |
8 * copyright notice and this permission notice appear in supporting | |
9 * documentation, and that the name of Software Research Associates not be | |
10 * used in advertising or publicity pertaining to distribution of the | |
11 * software without specific, written prior permission. Software Research | |
12 * Associates makes no representations about the suitability of this software | |
13 * for any purpose. It is provided "as is" without express or implied | |
14 * warranty. | |
15 * | |
16 * Author: Makoto Ishisone, Software Research Associates, Inc., Japan | |
17 */ | |
18 | |
19 #ifndef _ConvProto_h | |
20 #define _ConvProto_h | |
21 | |
22 /* $BJQ49%5!<%P$N%W%m%U%!%$%k$,F~$k%W%m%Q%F%#L>(B */ | |
23 #define CONVERSION_PROFILE "_CONVERSION_PROFILE" | |
24 | |
25 /* $BJQ49%5!<%P$N%W%m%U%!%$%k$N%W%m%Q%F%#$HJQ49B0@-$N%W%m%Q%F%#$N%?%$%W(B */ | |
26 #define CONVERSION_ATTRIBUTE_TYPE "_CONVERSION_ATTRIBUTE_TYPE" | |
27 | |
28 /* $B%W%m%H%3%k%P!<%8%g%sL>(B */ | |
29 #define PROTOCOL_VERSION "PROTOCOL-2.0" | |
30 | |
31 #define CONV_ATTR(code,len) ((unsigned long)((code)<<16)+(len)) | |
32 | |
33 #define UPPER16U(data) (((data)>>16)&0xffff) | |
34 #define UPPER16S(data) ((short)(((data)>>16)&0xffff)) | |
35 #define LOWER16U(data) ((data)&0xffff) | |
36 #define LOWER16S(data) ((short)((data)&0xffff)) | |
37 | |
38 #define CODE_OF_ATTR(head) UPPER16U(head) | |
39 #define LENGTH_OF_ATTR(head) LOWER16U(head) | |
40 | |
41 /* | |
42 * Conversion Profile Codes | |
43 */ | |
44 | |
45 #define CONVPROF_PROTOCOL_VERSION 1 | |
46 #define CONVPROF_SUPPORTED_STYLES 2 | |
47 #define CONVPROF_SUPPORTED_EXTENSIONS 3 | |
48 #define CONVPROF_EXTENSION_DATA 4 | |
49 | |
50 /* | |
51 * Standard Conversion Attribute Codes (0-255) | |
52 */ | |
53 | |
54 /* 0-127: can be specified at any time (startup and during conversion) */ | |
55 #define CONVATTR_NONE 0 | |
56 #define CONVATTR_INDIRECT 1 | |
57 #define CONVATTR_FOCUS_WINDOW 2 | |
58 #define CONVATTR_SPOT_LOCATION 3 | |
59 #define CONVATTR_CLIENT_AREA 4 | |
60 #define CONVATTR_STATUS_AREA 5 | |
61 #define CONVATTR_COLORMAP 6 | |
62 #define CONVATTR_COLOR 7 | |
63 #define CONVATTR_BACKGROUND_PIXMAP 8 | |
64 #define CONVATTR_LINE_SPACING 9 | |
65 #define CONVATTR_FONT_ATOMS 10 | |
66 #define CONVATTR_CURSOR 11 | |
67 | |
68 /* 128-255: can be specified only at startup time */ | |
69 #define CONVATTR_INPUT_STYLE 128 | |
70 #define CONVATTR_EVENT_CAPTURE_METHOD 129 | |
71 #define CONVATTR_USE_EXTENSION 255 | |
72 | |
73 /* argument for CONVATTR_INPUT_STYLE and CONVPROP_SUPPORTED_STYLES */ | |
74 #define CONVARG_ROOTWINDOW 1L | |
75 #define CONVARG_OFFTHESPOT 2L | |
76 #define CONVARG_OVERTHESPOT 4L | |
77 | |
78 /* argument for CONVATTR_EVENT_CAPTURE_METHOD */ | |
79 #define CONVARG_NONE 0L | |
80 #define CONVARG_CREATE_INPUTONLY 1L | |
81 #define CONVARG_SELECT_FOCUS_WINDOW 2L | |
82 | |
83 /* | |
84 * $B%W%m%U%!%$%k%G!<%?(B / $BJQ49B0@-%G!<%?$NI=8=J}K!(B | |
85 * | |
86 * $BJQ49%5!<%P$NFC@-$rI=$9%W%m%U%!%$%k%G!<%?$H!"JQ49$K4X$9$kB0@-$r;XDj$9(B | |
87 * $B$kJQ49B0@-%G!<%?$O6&DL$N%U%)!<%^%C%H$rMQ$$$k!#(B | |
88 * | |
89 * $B8D!9$N%G!<%?$O(B 32bit$BCM$NG[Ns$GI=8=$5$l$k!#:G=i$N(B 1$B%o!<%I$O%X%C%@$G!"(B | |
90 * $B$=$l$K(B 0$B%o!<%I0J>e$N%G!<%?$,B3$/!#%X%C%@$N>e0L(B 16bit $B$O$=$N%W%m%U%!%$(B | |
91 * $B%k(B / $BJQ49B0@-$N%3!<%I$rI=$7!"2<0L(B 16 bit $B$OB3$/%G!<%?$N%o!<%I?t(B | |
92 * (32bit $BC10L(B) $B$rI=$9!#(B | |
93 * | |
94 * +----------------+----------------+ | |
95 * | Code (16bit) | Length (16bit) | | |
96 * +----------------+----------------+ | |
97 * | Data0 | | |
98 * +---------------------------------+ | |
99 * | ..... | | |
100 * +---------------------------------+ | |
101 * | DataN | | |
102 * +---------------------------------+ | |
103 * | |
104 * $B<B:]$N%W%m%U%!%$%k%G!<%?$dJQ49B0@-%G!<%?$O$3$N%G!<%?$,$$$/$D$+O"B3$7(B | |
105 * $B$?$b$N$G$"$k!#(B | |
106 */ | |
107 | |
108 /* | |
109 * $B%W%m%U%!%$%k%G!<%?(B | |
110 * | |
111 * $B%W%m%U%!%$%k%G!<%?MQ$N%3!<%I$O<!$N(B 4$B<oN`$,Dj5A$5$l$F$$$k!#JQ49B0@-(B | |
112 * $B%G!<%?$H0[$J$j!"%W%i%$%Y!<%HMQ$N%3!<%INN0h$J$I$OMQ0U$5$l$F$$$J$$!#(B | |
113 * | |
114 * Protocol Version | |
115 * code: 1 | |
116 * data-length: 1 | |
117 * data[0]: | |
118 * CARD32: protocol version atom ("PROTOCOL-2.0") | |
119 * | |
120 * $B%G!<%?$OJQ49%5!<%P$N%W%m%H%3%k%P!<%8%g%s$rI=$9%"%H%`$G$"$k!#$3$3(B | |
121 * $B$GDj5A$5$l$F$$$k%W%m%H%3%k$N%P!<%8%g%s$O(B "PROTOCOL-2.0" $B$G$"$k!#(B | |
122 * | |
123 * Supported Styles | |
124 * code: 2 | |
125 * data-length: 1 | |
126 * data[0]: | |
127 * CARD32: input styles | |
128 * | |
129 * $B%G!<%?$OJQ49%5!<%P$,%5%]!<%H$9$kF~NO%9%?%$%k$rI=$9!#%5%]!<%H$9$k(B | |
130 * $BF~NO%9%?%$%k$NCM$N(B bitwise-or $B$G$"$k!#(B | |
131 * | |
132 * Supported Extensions | |
133 * code: 3 | |
134 * data-length: N | |
135 * data[0]: | |
136 * CARD32: extension atom 1 (Atom) | |
137 * ... | |
138 * data[N-1]: | |
139 * CARD32: extension atom N (Atom) | |
140 * | |
141 * $B%G!<%?$OJQ49%5!<%P$,%5%]!<%H$9$k3HD%$rI=$9%"%H%`$N%j%9%H$G$"$k!#(B | |
142 * | |
143 * Extension Data | |
144 * code: 4 | |
145 * data-length: N | |
146 * data[0]: | |
147 * CARD32: extension atom (Atom) | |
148 * data[1] - data[N-1]: | |
149 * extension specific data | |
150 * | |
151 * $B%G!<%?$O3HD%FH<+$KDj5A$7$?%W%m%U%!%$%k%G!<%?$G$"$k!#I8=`%W%m%H%3(B | |
152 * $B%k$H$7$F$O%G!<%?$N@hF,$K3HD%%"%H%`(B ($B$3$l$O(BSupported Extensions | |
153 * $B$K;XDj$5$l$?$b$N$G$J$1$l$P$J$i$J$$(B)$B$r$D$1$k$3$H$r5,Dj$9$k$@$1$G!"(B | |
154 * $B$=$N8e$N%G!<%?$K4X$7$F$O0l@Z5,Dj$7$J$$!#(B | |
155 * | |
156 * $B%/%i%$%"%s%HB&$NL5MQ$N:.Mp$rKI$0$?$a!"(BProtocol Version $B$H(B Supported | |
157 * Styles$B$N9`L\$OI,$:$J$1$l$P$J$i$J$$!#$^$?!"(BExtension Data $B0J30$O%W%m%U%!(B | |
158 * $B%$%k%G!<%?$NCf$KF1$8%3!<%I$N%G!<%?$,J#?t$"$C$F$O$J$i$J$$!#(B | |
159 */ | |
160 | |
161 /* | |
162 * $BJQ49B0@-%G!<%?(B | |
163 * | |
164 * $BB0@-%3!<%I$N$&$A!"(B0 $B$+$i(B 255 $B$^$G$OI8=`%W%m%H%3%k$,;HMQ$9$k$b$N$G!"8=(B | |
165 * $B:_B0@-$,3d$j?6$i$l$F$$$J$$$+$i$H$$$C$F>!<j$K;HMQ$7$F$O$J$i$J$$!#$=$N(B | |
166 * $B$h$&$JL\E*$N$?$aB0@-%3!<%I(B 256 $B$+$i(B 65535 $B$,%W%i%$%Y!<%H%3!<%I3HD%NN(B | |
167 * $B0h$H$7$FMQ0U$5$l$F$$$k!#$?$@$7$3$NNN0h$N;HMQ$KEv$?$C$F$O$"$i$+$8$a$=(B | |
168 * $B$N3HD%%3!<%I$r;HMQ$9$k$3$H$r(B Use Extension ($B2<5-;2>H(B) $B$rMQ$$$F$"$i$+(B | |
169 * $B$8$a@k8@$9$kI,MW$,$"$k!#(B | |
170 * | |
171 * $BB0@-%G!<%?$N;XDjJ}K!$K$O!"JQ493+;O;~$K;XDj$9$kJ}K!$H!"JQ49Cf$K;XDj$9(B | |
172 * $B$kJ}K!$N(B 2$BDL$j$,$"$k$,!"B0@-%3!<%I$K$h$C$F$OJQ493+;O;~$K$7$+;XDj$G$-(B | |
173 * $B$J$$$b$N$,$"$k!#$=$3$G!"(B0-255 $B$NI8=`%3!<%I$N$&$A!"(B0 $B$+$i(B 127 $B$^$G$OJQ(B | |
174 * $B493+;O;~$G$bJQ49Cf$G$b;XDj$G$-$k$b$N!"(B128 $B$+$i(B 255 $B$^$G$OJQ493+;O;~$K(B | |
175 * $B$7$+;XDj$G$-$J$$$b$N!"$KJ,$1$F$"$k!#3HD%%3!<%I$K$D$$$F$OFC$K$3$N$h$&(B | |
176 * $B$J6hJL$ODj$a$J$$!#(B | |
177 * | |
178 * $B$3$N%W%m%H%3%k$GDj5A$5$l$kB0@-%3!<%I$O<!$NDL$j$G$"$k!#(B | |
179 * | |
180 * -- $BJQ493+;O;~$K$b!"JQ49ESCf$K$b;XDj$G$-$k$b$N(B -- | |
181 * | |
182 * No Operation: | |
183 * code: 0 | |
184 * data-length: N (could be 0) | |
185 * data: anything | |
186 * | |
187 * $B2?$b$7$J$$!#%W%m%Q%F%#$N$"$kItJ,$r%9%-%C%W$5$;$k$N$KJXMx!#(B | |
188 * | |
189 * Indirect Attribute: | |
190 * code: 1 | |
191 * data-length: 1 | |
192 * data[0]: | |
193 * CARD32: property name (Atom) | |
194 * | |
195 * $B;XDj$5$l$?%W%m%Q%F%#$K=>$C$FB0@-$r@_Dj$9$k!#(BCONVERSION_ATTRIBUTE | |
196 * $B%$%Y%s%H$GJ#?t$NB0@-%G!<%?$r@_Dj$7$?$$;~$d!"%$%Y%s%H$KB0@-%G!<%?$,(B | |
197 * $BF~$j@Z$i$J$$;~$K;HMQ$9$k!#(B | |
198 * | |
199 * Focus Window: | |
200 * code: 2 | |
201 * data-length: 1 | |
202 * data[0]: | |
203 * CARD32: focus window (Window) | |
204 * | |
205 * $B%U%)!<%+%9%&%#%s%I%&$r;XDj$9$k!#(B | |
206 * | |
207 * Spot Location: | |
208 * data-length: 1 | |
209 * data[0]: | |
210 * INT16(upper 16bit): X | |
211 * INT16(lower 16bit): Y | |
212 * | |
213 * $B%9%]%C%H%m%1!<%7%g%s$r;XDj$9$k!#%Y!<%9%i%$%s$N3+;OE@$G;XDj$9$k!#(B | |
214 * | |
215 * Client Area: | |
216 * data-length: 2 | |
217 * data[0]: | |
218 * INT16(upper 16bit): X | |
219 * INT16(lower 16bit): Y | |
220 * data[1]: | |
221 * CARD16(upper 16bit): Width | |
222 * CARD16(lower 16bit): Height | |
223 * | |
224 * $BJQ49%F%-%9%HI=<(NN0h$r;XDj$9$k!#(B | |
225 * | |
226 * Status Area: | |
227 * data-length: 2 | |
228 * data[0]: | |
229 * INT16(upper 16bit): X | |
230 * INT16(lower 16bit): Y | |
231 * data[1]: | |
232 * CARD16(upper 16bit): Width | |
233 * CARD16(lower 16bit): Height | |
234 * | |
235 * $B%9%F!<%?%9I=<(NN0h$r;XDj$9$k!#(B | |
236 * | |
237 * Colormap: | |
238 * data-length: 1 | |
239 * data[0]: | |
240 * CARD32: colormap (XID) | |
241 * | |
242 * $B%+%i!<%^%C%W(B ID $B$r;XDj$9$k!#(B | |
243 * | |
244 * Color: | |
245 * data-length: 2 | |
246 * data[0]: | |
247 * CARD32: foreground pixel | |
248 * data[1]: | |
249 * CARD32: background pixel | |
250 * | |
251 * $B%U%)%"%0%i%&%s%I$H%P%C%/%0%i%&%s%I$N%T%/%;%kCM$r;XDj$9$k!#(B | |
252 * | |
253 * Background Pixmap: | |
254 * data-length: 1 | |
255 * data[0]: | |
256 * CARD32: background pixmap (Pixmap) | |
257 * | |
258 * $B%P%C%/%0%i%&%s%I$N(B Pixmap ID $B$r;XDj$9$k!#(B | |
259 * | |
260 * Line Spacing: | |
261 * data-length: 1 | |
262 * data[0]: | |
263 * CARD32: line spacing | |
264 * | |
265 * $B9T4V$r;XDj$9$k!#%Y!<%9%i%$%s4V$N5wN%$G;XDj$9$k!#(B | |
266 * | |
267 * Font Atoms: | |
268 * data-length: N (>0) | |
269 * data[0]: | |
270 * CARD32: font atom 1 (Atom) | |
271 * ... | |
272 * data[N-1]: | |
273 * CARD32: font atom N (Atom) | |
274 * | |
275 * $B;HMQ$9$k%U%)%s%H$N(B "FONT" $B%"%H%`$N%j%9%H$r;XDj$9$k!#(B | |
276 * | |
277 * Cursor: | |
278 * data-length: 1 | |
279 * data[0]: | |
280 * CARD32: cursor (Cursor) | |
281 * | |
282 * $B%+!<%=%k(B ID $B$r;XDj$9$k!#(B | |
283 * | |
284 * -- $BJQ493+;O;~$N$_;XDj$G$-$k$b$N(B -- | |
285 * | |
286 * Input Style: | |
287 * data-length: 1 | |
288 * data[0]: | |
289 * CARD32: input style | |
290 * | |
291 * $BF~NOJ}K!$r;XDj$9$k!#(B | |
292 * $B%G%U%)%k%H$O(B Root Window Style $B$G$"$k!#(B | |
293 * | |
294 * Event Capture Method: | |
295 * data-length: 1 | |
296 * data[0]: | |
297 * CARD32: event capture method | |
298 * | |
299 * $B%/%i%$%"%s%H%&%#%s%I%&$+$i$N%$%Y%s%H$N<hF@J}K!$r;XDj$9$k!#%G%U%)(B | |
300 * $B%k%H$O%/%i%$%"%s%H%&%#%s%I%&$NA0$K(B InputOnly $B%&%#%s%I%&$r:n$C$F(B | |
301 * $B$=$N%-!<%$%Y%s%H$r%;%l%/%H$9$k$H$$$&$b$N$G$"$k!#B>$NJ}K!$H$7$F$O!"(B | |
302 * $B%U%)!<%+%9%&%#%s%I%&(B ($B%U%)!<%+%9%&%#%s%I%&$,;XDj$5$l$F$$$J$1$l$P(B | |
303 * $B%/%i%$%"%s%H%&%#%s%I%&(B) $B$N%-!<%$%Y%s%H$rD>@\%;%l%/%H$9$k(B ($B$3$N>l(B | |
304 * $B9g!"JQ49Cf$O%/%i%$%"%s%H$O%-!<%$%Y%s%H$rL5;k$7$J$/$F$O$J$i$J$$(B) | |
305 * $B$b$N$H!"2?$b$7$J$$!"$D$^$jJQ49Cf$N%/%i%$%"%s%H$O%-!<%$%Y%s%H$r%U(B | |
306 * $B%m%s%H%(%s%I$K(B SendEvent $B$7$J$/$F$O$J$i$J$$!"$H$$$&J}K!$,$"$k!#(B | |
307 * | |
308 * Use Extension: | |
309 * data-length: N | |
310 * data[0]: | |
311 * CARD32: extension atom 1 (Atom) | |
312 * ... | |
313 * data[N-1]: | |
314 * CARD32: extension atom N (Atom) | |
315 * | |
316 * $B$3$NB0@-@_Dj$G;HMQ$5$l$k3HD%$r;XDj$9$k!#$3$3$G;XDj$9$k3HD%$O%5!<(B | |
317 * $B%P$,%5%]!<%H$7$F$$$k$b$N!"$D$^$j%W%m%U%!%$%k%G!<%?Cf$N(BSupported | |
318 * Extensions $B$K=q$+$l$?3HD%$G$J$1$l$P$J$i$J$$!#(B | |
319 */ | |
320 | |
321 #endif |