XimintL.h revision 1ab64890
11ab64890Smrg/* $Xorg: XimintL.h,v 1.3 2000/08/17 19:45:05 cpqbld Exp $ */
21ab64890Smrg/******************************************************************
31ab64890Smrg
41ab64890Smrg          Copyright 1991, 1992, 1993, 1994 by FUJITSU LIMITED
51ab64890Smrg          Copyright 1993 by Digital Equipment Corporation
61ab64890Smrg
71ab64890SmrgPermission to use, copy, modify, distribute, and sell this software
81ab64890Smrgand its documentation for any purpose is hereby granted without fee,
91ab64890Smrgprovided that the above copyright notice appear in all copies and that
101ab64890Smrgboth that copyright notice and this permission notice appear in
111ab64890Smrgsupporting documentation, and that the name of FUJITSU LIMITED and
121ab64890SmrgDigital Equipment Corporation not be used in advertising or publicity
131ab64890Smrgpertaining to distribution of the software without specific, written
141ab64890Smrgprior permission.  FUJITSU LIMITED and Digital Equipment Corporation
151ab64890Smrgmakes no representations about the suitability of this software for
161ab64890Smrgany purpose.  It is provided "as is" without express or implied
171ab64890Smrgwarranty.
181ab64890Smrg
191ab64890SmrgFUJITSU LIMITED AND DIGITAL EQUIPMENT CORPORATION DISCLAIM ALL
201ab64890SmrgWARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED
211ab64890SmrgWARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
221ab64890SmrgFUJITSU LIMITED AND DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR
231ab64890SmrgANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
241ab64890SmrgWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
251ab64890SmrgIN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
261ab64890SmrgARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
271ab64890SmrgTHIS SOFTWARE.
281ab64890Smrg
291ab64890Smrg  Author:    Takashi Fujiwara     FUJITSU LIMITED
301ab64890Smrg                               	  fujiwara@a80.tech.yk.fujitsu.co.jp
311ab64890Smrg  Modifier:  Franky Ling          Digital Equipment Corporation
321ab64890Smrg	                          frankyling@hgrd01.enet.dec.com
331ab64890Smrg
341ab64890Smrg******************************************************************/
351ab64890Smrg/* $XFree86: xc/lib/X11/XimintL.h,v 1.6 2000/12/04 18:49:19 dawes Exp $ */
361ab64890Smrg
371ab64890Smrg#ifndef _XIMINTL_H
381ab64890Smrg#define _XIMINTL_H
391ab64890Smrg
401ab64890Smrg#define	COMPOSE_FILE	"Compose"
411ab64890Smrg
421ab64890Smrg/*
431ab64890Smrg * Data Structures for Local Processing
441ab64890Smrg */
451ab64890Smrgtypedef INT32  DTIndex;
461ab64890Smrgtypedef INT32  DTCharIndex;
471ab64890Smrgtypedef BITS32 DTModifier;
481ab64890Smrg
491ab64890Smrgtypedef struct _DefTree {
501ab64890Smrg    DTIndex          next;
511ab64890Smrg    DTIndex          succession;	/* successive Key Sequence */
521ab64890Smrg					/* Key definitions */
531ab64890Smrg    DTModifier       modifier_mask;
541ab64890Smrg    DTModifier       modifier;
551ab64890Smrg    KeySym           keysym;		/* leaf only */
561ab64890Smrg    DTCharIndex      mb;
571ab64890Smrg    DTCharIndex      wc;		/* make from mb */
581ab64890Smrg    DTCharIndex      utf8;		/* make from mb */
591ab64890Smrg    KeySym           ks;
601ab64890Smrg} DefTree;
611ab64890Smrg
621ab64890Smrgtypedef struct _DefTreeBase {
631ab64890Smrg    DefTree         *tree;
641ab64890Smrg    char            *mb;
651ab64890Smrg    wchar_t         *wc;
661ab64890Smrg    char            *utf8;
671ab64890Smrg    DTIndex          treeused, treesize;
681ab64890Smrg    DTCharIndex      mbused,   mbsize;
691ab64890Smrg    DTCharIndex      wcused,   wcsize;
701ab64890Smrg    DTCharIndex      utf8used, utf8size;
711ab64890Smrg} DefTreeBase;
721ab64890Smrg
731ab64890Smrgtypedef struct _XimLocalPrivateRec {
741ab64890Smrg	/* The first fields are identical with XimCommonPrivateRec. */
751ab64890Smrg	XlcConv		 ctom_conv;
761ab64890Smrg	XlcConv		 ctow_conv;
771ab64890Smrg	XlcConv		 ctoutf8_conv;
781ab64890Smrg	XlcConv		 cstomb_conv;
791ab64890Smrg	XlcConv		 cstowc_conv;
801ab64890Smrg	XlcConv		 cstoutf8_conv;
811ab64890Smrg	XlcConv		 ucstoc_conv;
821ab64890Smrg	XlcConv		 ucstoutf8_conv;
831ab64890Smrg
841ab64890Smrg	XIC		 current_ic;
851ab64890Smrg	DefTreeBase	 base;
861ab64890Smrg	DTIndex          top;
871ab64890Smrg} XimLocalPrivateRec;
881ab64890Smrg
891ab64890Smrgtypedef struct _XicThaiPart {
901ab64890Smrg	int		comp_state;
911ab64890Smrg	KeySym		keysym;
921ab64890Smrg	int		input_mode;
931ab64890Smrg} XicThaiPart;
941ab64890Smrg
951ab64890Smrgtypedef struct _XicLocalPrivateRec {
961ab64890Smrg	long			 value_mask;
971ab64890Smrg	DefTreeBase              base;
981ab64890Smrg	DTIndex			 context;
991ab64890Smrg	DTIndex			 composed;
1001ab64890Smrg	XicThaiPart		 thai;
1011ab64890Smrg
1021ab64890Smrg	XIMResourceList		 ic_resources;
1031ab64890Smrg	unsigned int		 ic_num_resources;
1041ab64890Smrg
1051ab64890Smrg	unsigned char	 	 brl_pressed, brl_committing, brl_committed;
1061ab64890Smrg	Time		 	 brl_release_start;
1071ab64890Smrg} XicLocalPrivateRec;
1081ab64890Smrg#endif /* _XIMINTL_H */
109