Mercurial > kinput2.yaz
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/include/ConvProto.h Mon Mar 08 04:44:30 2010 +0900 @@ -0,0 +1,321 @@ +/* $Id: ConvProto.h,v 1.6 1999/01/07 03:06:22 ishisone Exp $ */ +/* + * Copyright (c) 1991 Software Research Associates, Inc. + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose and without fee is hereby granted, provided + * that the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of Software Research Associates not be + * used in advertising or publicity pertaining to distribution of the + * software without specific, written prior permission. Software Research + * Associates makes no representations about the suitability of this software + * for any purpose. It is provided "as is" without express or implied + * warranty. + * + * Author: Makoto Ishisone, Software Research Associates, Inc., Japan + */ + +#ifndef _ConvProto_h +#define _ConvProto_h + +/* $BJQ49%5!<%P$N%W%m%U%!%$%k$,F~$k%W%m%Q%F%#L>(B */ +#define CONVERSION_PROFILE "_CONVERSION_PROFILE" + +/* $BJQ49%5!<%P$N%W%m%U%!%$%k$N%W%m%Q%F%#$HJQ49B0@-$N%W%m%Q%F%#$N%?%$%W(B */ +#define CONVERSION_ATTRIBUTE_TYPE "_CONVERSION_ATTRIBUTE_TYPE" + +/* $B%W%m%H%3%k%P!<%8%g%sL>(B */ +#define PROTOCOL_VERSION "PROTOCOL-2.0" + +#define CONV_ATTR(code,len) ((unsigned long)((code)<<16)+(len)) + +#define UPPER16U(data) (((data)>>16)&0xffff) +#define UPPER16S(data) ((short)(((data)>>16)&0xffff)) +#define LOWER16U(data) ((data)&0xffff) +#define LOWER16S(data) ((short)((data)&0xffff)) + +#define CODE_OF_ATTR(head) UPPER16U(head) +#define LENGTH_OF_ATTR(head) LOWER16U(head) + +/* + * Conversion Profile Codes + */ + +#define CONVPROF_PROTOCOL_VERSION 1 +#define CONVPROF_SUPPORTED_STYLES 2 +#define CONVPROF_SUPPORTED_EXTENSIONS 3 +#define CONVPROF_EXTENSION_DATA 4 + +/* + * Standard Conversion Attribute Codes (0-255) + */ + +/* 0-127: can be specified at any time (startup and during conversion) */ +#define CONVATTR_NONE 0 +#define CONVATTR_INDIRECT 1 +#define CONVATTR_FOCUS_WINDOW 2 +#define CONVATTR_SPOT_LOCATION 3 +#define CONVATTR_CLIENT_AREA 4 +#define CONVATTR_STATUS_AREA 5 +#define CONVATTR_COLORMAP 6 +#define CONVATTR_COLOR 7 +#define CONVATTR_BACKGROUND_PIXMAP 8 +#define CONVATTR_LINE_SPACING 9 +#define CONVATTR_FONT_ATOMS 10 +#define CONVATTR_CURSOR 11 + +/* 128-255: can be specified only at startup time */ +#define CONVATTR_INPUT_STYLE 128 +#define CONVATTR_EVENT_CAPTURE_METHOD 129 +#define CONVATTR_USE_EXTENSION 255 + +/* argument for CONVATTR_INPUT_STYLE and CONVPROP_SUPPORTED_STYLES */ +#define CONVARG_ROOTWINDOW 1L +#define CONVARG_OFFTHESPOT 2L +#define CONVARG_OVERTHESPOT 4L + +/* argument for CONVATTR_EVENT_CAPTURE_METHOD */ +#define CONVARG_NONE 0L +#define CONVARG_CREATE_INPUTONLY 1L +#define CONVARG_SELECT_FOCUS_WINDOW 2L + +/* + * $B%W%m%U%!%$%k%G!<%?(B / $BJQ49B0@-%G!<%?$NI=8=J}K!(B + * + * $BJQ49%5!<%P$NFC@-$rI=$9%W%m%U%!%$%k%G!<%?$H!"JQ49$K4X$9$kB0@-$r;XDj$9(B + * $B$kJQ49B0@-%G!<%?$O6&DL$N%U%)!<%^%C%H$rMQ$$$k!#(B + * + * $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 + * $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 + * $B%k(B / $BJQ49B0@-$N%3!<%I$rI=$7!"2<0L(B 16 bit $B$OB3$/%G!<%?$N%o!<%I?t(B + * (32bit $BC10L(B) $B$rI=$9!#(B + * + * +----------------+----------------+ + * | Code (16bit) | Length (16bit) | + * +----------------+----------------+ + * | Data0 | + * +---------------------------------+ + * | ..... | + * +---------------------------------+ + * | DataN | + * +---------------------------------+ + * + * $B<B:]$N%W%m%U%!%$%k%G!<%?$dJQ49B0@-%G!<%?$O$3$N%G!<%?$,$$$/$D$+O"B3$7(B + * $B$?$b$N$G$"$k!#(B + */ + +/* + * $B%W%m%U%!%$%k%G!<%?(B + * + * $B%W%m%U%!%$%k%G!<%?MQ$N%3!<%I$O<!$N(B 4$B<oN`$,Dj5A$5$l$F$$$k!#JQ49B0@-(B + * $B%G!<%?$H0[$J$j!"%W%i%$%Y!<%HMQ$N%3!<%INN0h$J$I$OMQ0U$5$l$F$$$J$$!#(B + * + * Protocol Version + * code: 1 + * data-length: 1 + * data[0]: + * CARD32: protocol version atom ("PROTOCOL-2.0") + * + * $B%G!<%?$OJQ49%5!<%P$N%W%m%H%3%k%P!<%8%g%s$rI=$9%"%H%`$G$"$k!#$3$3(B + * $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 + * + * Supported Styles + * code: 2 + * data-length: 1 + * data[0]: + * CARD32: input styles + * + * $B%G!<%?$OJQ49%5!<%P$,%5%]!<%H$9$kF~NO%9%?%$%k$rI=$9!#%5%]!<%H$9$k(B + * $BF~NO%9%?%$%k$NCM$N(B bitwise-or $B$G$"$k!#(B + * + * Supported Extensions + * code: 3 + * data-length: N + * data[0]: + * CARD32: extension atom 1 (Atom) + * ... + * data[N-1]: + * CARD32: extension atom N (Atom) + * + * $B%G!<%?$OJQ49%5!<%P$,%5%]!<%H$9$k3HD%$rI=$9%"%H%`$N%j%9%H$G$"$k!#(B + * + * Extension Data + * code: 4 + * data-length: N + * data[0]: + * CARD32: extension atom (Atom) + * data[1] - data[N-1]: + * extension specific data + * + * $B%G!<%?$O3HD%FH<+$KDj5A$7$?%W%m%U%!%$%k%G!<%?$G$"$k!#I8=`%W%m%H%3(B + * $B%k$H$7$F$O%G!<%?$N@hF,$K3HD%%"%H%`(B ($B$3$l$O(BSupported Extensions + * $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 + * $B$=$N8e$N%G!<%?$K4X$7$F$O0l@Z5,Dj$7$J$$!#(B + * + * $B%/%i%$%"%s%HB&$NL5MQ$N:.Mp$rKI$0$?$a!"(BProtocol Version $B$H(B Supported + * Styles$B$N9`L\$OI,$:$J$1$l$P$J$i$J$$!#$^$?!"(BExtension Data $B0J30$O%W%m%U%!(B + * $B%$%k%G!<%?$NCf$KF1$8%3!<%I$N%G!<%?$,J#?t$"$C$F$O$J$i$J$$!#(B + */ + +/* + * $BJQ49B0@-%G!<%?(B + * + * $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 + * $B:_B0@-$,3d$j?6$i$l$F$$$J$$$+$i$H$$$C$F>!<j$K;HMQ$7$F$O$J$i$J$$!#$=$N(B + * $B$h$&$JL\E*$N$?$aB0@-%3!<%I(B 256 $B$+$i(B 65535 $B$,%W%i%$%Y!<%H%3!<%I3HD%NN(B + * $B0h$H$7$FMQ0U$5$l$F$$$k!#$?$@$7$3$NNN0h$N;HMQ$KEv$?$C$F$O$"$i$+$8$a$=(B + * $B$N3HD%%3!<%I$r;HMQ$9$k$3$H$r(B Use Extension ($B2<5-;2>H(B) $B$rMQ$$$F$"$i$+(B + * $B$8$a@k8@$9$kI,MW$,$"$k!#(B + * + * $BB0@-%G!<%?$N;XDjJ}K!$K$O!"JQ493+;O;~$K;XDj$9$kJ}K!$H!"JQ49Cf$K;XDj$9(B + * $B$kJ}K!$N(B 2$BDL$j$,$"$k$,!"B0@-%3!<%I$K$h$C$F$OJQ493+;O;~$K$7$+;XDj$G$-(B + * $B$J$$$b$N$,$"$k!#$=$3$G!"(B0-255 $B$NI8=`%3!<%I$N$&$A!"(B0 $B$+$i(B 127 $B$^$G$OJQ(B + * $B493+;O;~$G$bJQ49Cf$G$b;XDj$G$-$k$b$N!"(B128 $B$+$i(B 255 $B$^$G$OJQ493+;O;~$K(B + * $B$7$+;XDj$G$-$J$$$b$N!"$KJ,$1$F$"$k!#3HD%%3!<%I$K$D$$$F$OFC$K$3$N$h$&(B + * $B$J6hJL$ODj$a$J$$!#(B + * + * $B$3$N%W%m%H%3%k$GDj5A$5$l$kB0@-%3!<%I$O<!$NDL$j$G$"$k!#(B + * + * -- $BJQ493+;O;~$K$b!"JQ49ESCf$K$b;XDj$G$-$k$b$N(B -- + * + * No Operation: + * code: 0 + * data-length: N (could be 0) + * data: anything + * + * $B2?$b$7$J$$!#%W%m%Q%F%#$N$"$kItJ,$r%9%-%C%W$5$;$k$N$KJXMx!#(B + * + * Indirect Attribute: + * code: 1 + * data-length: 1 + * data[0]: + * CARD32: property name (Atom) + * + * $B;XDj$5$l$?%W%m%Q%F%#$K=>$C$FB0@-$r@_Dj$9$k!#(BCONVERSION_ATTRIBUTE + * $B%$%Y%s%H$GJ#?t$NB0@-%G!<%?$r@_Dj$7$?$$;~$d!"%$%Y%s%H$KB0@-%G!<%?$,(B + * $BF~$j@Z$i$J$$;~$K;HMQ$9$k!#(B + * + * Focus Window: + * code: 2 + * data-length: 1 + * data[0]: + * CARD32: focus window (Window) + * + * $B%U%)!<%+%9%&%#%s%I%&$r;XDj$9$k!#(B + * + * Spot Location: + * data-length: 1 + * data[0]: + * INT16(upper 16bit): X + * INT16(lower 16bit): Y + * + * $B%9%]%C%H%m%1!<%7%g%s$r;XDj$9$k!#%Y!<%9%i%$%s$N3+;OE@$G;XDj$9$k!#(B + * + * Client Area: + * data-length: 2 + * data[0]: + * INT16(upper 16bit): X + * INT16(lower 16bit): Y + * data[1]: + * CARD16(upper 16bit): Width + * CARD16(lower 16bit): Height + * + * $BJQ49%F%-%9%HI=<(NN0h$r;XDj$9$k!#(B + * + * Status Area: + * data-length: 2 + * data[0]: + * INT16(upper 16bit): X + * INT16(lower 16bit): Y + * data[1]: + * CARD16(upper 16bit): Width + * CARD16(lower 16bit): Height + * + * $B%9%F!<%?%9I=<(NN0h$r;XDj$9$k!#(B + * + * Colormap: + * data-length: 1 + * data[0]: + * CARD32: colormap (XID) + * + * $B%+%i!<%^%C%W(B ID $B$r;XDj$9$k!#(B + * + * Color: + * data-length: 2 + * data[0]: + * CARD32: foreground pixel + * data[1]: + * CARD32: background pixel + * + * $B%U%)%"%0%i%&%s%I$H%P%C%/%0%i%&%s%I$N%T%/%;%kCM$r;XDj$9$k!#(B + * + * Background Pixmap: + * data-length: 1 + * data[0]: + * CARD32: background pixmap (Pixmap) + * + * $B%P%C%/%0%i%&%s%I$N(B Pixmap ID $B$r;XDj$9$k!#(B + * + * Line Spacing: + * data-length: 1 + * data[0]: + * CARD32: line spacing + * + * $B9T4V$r;XDj$9$k!#%Y!<%9%i%$%s4V$N5wN%$G;XDj$9$k!#(B + * + * Font Atoms: + * data-length: N (>0) + * data[0]: + * CARD32: font atom 1 (Atom) + * ... + * data[N-1]: + * CARD32: font atom N (Atom) + * + * $B;HMQ$9$k%U%)%s%H$N(B "FONT" $B%"%H%`$N%j%9%H$r;XDj$9$k!#(B + * + * Cursor: + * data-length: 1 + * data[0]: + * CARD32: cursor (Cursor) + * + * $B%+!<%=%k(B ID $B$r;XDj$9$k!#(B + * + * -- $BJQ493+;O;~$N$_;XDj$G$-$k$b$N(B -- + * + * Input Style: + * data-length: 1 + * data[0]: + * CARD32: input style + * + * $BF~NOJ}K!$r;XDj$9$k!#(B + * $B%G%U%)%k%H$O(B Root Window Style $B$G$"$k!#(B + * + * Event Capture Method: + * data-length: 1 + * data[0]: + * CARD32: event capture method + * + * $B%/%i%$%"%s%H%&%#%s%I%&$+$i$N%$%Y%s%H$N<hF@J}K!$r;XDj$9$k!#%G%U%)(B + * $B%k%H$O%/%i%$%"%s%H%&%#%s%I%&$NA0$K(B InputOnly $B%&%#%s%I%&$r:n$C$F(B + * $B$=$N%-!<%$%Y%s%H$r%;%l%/%H$9$k$H$$$&$b$N$G$"$k!#B>$NJ}K!$H$7$F$O!"(B + * $B%U%)!<%+%9%&%#%s%I%&(B ($B%U%)!<%+%9%&%#%s%I%&$,;XDj$5$l$F$$$J$1$l$P(B + * $B%/%i%$%"%s%H%&%#%s%I%&(B) $B$N%-!<%$%Y%s%H$rD>@\%;%l%/%H$9$k(B ($B$3$N>l(B + * $B9g!"JQ49Cf$O%/%i%$%"%s%H$O%-!<%$%Y%s%H$rL5;k$7$J$/$F$O$J$i$J$$(B) + * $B$b$N$H!"2?$b$7$J$$!"$D$^$jJQ49Cf$N%/%i%$%"%s%H$O%-!<%$%Y%s%H$r%U(B + * $B%m%s%H%(%s%I$K(B SendEvent $B$7$J$/$F$O$J$i$J$$!"$H$$$&J}K!$,$"$k!#(B + * + * Use Extension: + * data-length: N + * data[0]: + * CARD32: extension atom 1 (Atom) + * ... + * data[N-1]: + * CARD32: extension atom N (Atom) + * + * $B$3$NB0@-@_Dj$G;HMQ$5$l$k3HD%$r;XDj$9$k!#$3$3$G;XDj$9$k3HD%$O%5!<(B + * $B%P$,%5%]!<%H$7$F$$$k$b$N!"$D$^$j%W%m%U%!%$%k%G!<%?Cf$N(BSupported + * Extensions $B$K=q$+$l$?3HD%$G$J$1$l$P$J$i$J$$!#(B + */ + +#endif