XimintL.h revision 1ab64890
1/* $Xorg: XimintL.h,v 1.3 2000/08/17 19:45:05 cpqbld Exp $ */ 2/****************************************************************** 3 4 Copyright 1991, 1992, 1993, 1994 by FUJITSU LIMITED 5 Copyright 1993 by Digital Equipment Corporation 6 7Permission to use, copy, modify, distribute, and sell this software 8and its documentation for any purpose is hereby granted without fee, 9provided that the above copyright notice appear in all copies and that 10both that copyright notice and this permission notice appear in 11supporting documentation, and that the name of FUJITSU LIMITED and 12Digital Equipment Corporation not be used in advertising or publicity 13pertaining to distribution of the software without specific, written 14prior permission. FUJITSU LIMITED and Digital Equipment Corporation 15makes no representations about the suitability of this software for 16any purpose. It is provided "as is" without express or implied 17warranty. 18 19FUJITSU LIMITED AND DIGITAL EQUIPMENT CORPORATION DISCLAIM ALL 20WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED 21WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 22FUJITSU LIMITED AND DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR 23ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 24WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER 25IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 26ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF 27THIS SOFTWARE. 28 29 Author: Takashi Fujiwara FUJITSU LIMITED 30 fujiwara@a80.tech.yk.fujitsu.co.jp 31 Modifier: Franky Ling Digital Equipment Corporation 32 frankyling@hgrd01.enet.dec.com 33 34******************************************************************/ 35/* $XFree86: xc/lib/X11/XimintL.h,v 1.6 2000/12/04 18:49:19 dawes Exp $ */ 36 37#ifndef _XIMINTL_H 38#define _XIMINTL_H 39 40#define COMPOSE_FILE "Compose" 41 42/* 43 * Data Structures for Local Processing 44 */ 45typedef INT32 DTIndex; 46typedef INT32 DTCharIndex; 47typedef BITS32 DTModifier; 48 49typedef struct _DefTree { 50 DTIndex next; 51 DTIndex succession; /* successive Key Sequence */ 52 /* Key definitions */ 53 DTModifier modifier_mask; 54 DTModifier modifier; 55 KeySym keysym; /* leaf only */ 56 DTCharIndex mb; 57 DTCharIndex wc; /* make from mb */ 58 DTCharIndex utf8; /* make from mb */ 59 KeySym ks; 60} DefTree; 61 62typedef struct _DefTreeBase { 63 DefTree *tree; 64 char *mb; 65 wchar_t *wc; 66 char *utf8; 67 DTIndex treeused, treesize; 68 DTCharIndex mbused, mbsize; 69 DTCharIndex wcused, wcsize; 70 DTCharIndex utf8used, utf8size; 71} DefTreeBase; 72 73typedef struct _XimLocalPrivateRec { 74 /* The first fields are identical with XimCommonPrivateRec. */ 75 XlcConv ctom_conv; 76 XlcConv ctow_conv; 77 XlcConv ctoutf8_conv; 78 XlcConv cstomb_conv; 79 XlcConv cstowc_conv; 80 XlcConv cstoutf8_conv; 81 XlcConv ucstoc_conv; 82 XlcConv ucstoutf8_conv; 83 84 XIC current_ic; 85 DefTreeBase base; 86 DTIndex top; 87} XimLocalPrivateRec; 88 89typedef struct _XicThaiPart { 90 int comp_state; 91 KeySym keysym; 92 int input_mode; 93} XicThaiPart; 94 95typedef struct _XicLocalPrivateRec { 96 long value_mask; 97 DefTreeBase base; 98 DTIndex context; 99 DTIndex composed; 100 XicThaiPart thai; 101 102 XIMResourceList ic_resources; 103 unsigned int ic_num_resources; 104 105 unsigned char brl_pressed, brl_committing, brl_committed; 106 Time brl_release_start; 107} XicLocalPrivateRec; 108#endif /* _XIMINTL_H */ 109