1 /* 2 * $Id: typedef.h,v 1.2 2001/06/14 18:16:11 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 * 11 * Author: OMRON SOFTWARE Co., Ltd. <freewnn@rd.kyoto.omronsoft.co.jp> 12 * 13 * This program is free software; you can redistribute it and/or modify 14 * it under the terms of the GNU General Public License as published by 15 * the Free Software Foundation; either version 2, or (at your option) 16 * any later version. 17 * 18 * This program is distributed in the hope that it will be useful, 19 * but WITHOUT ANY WARRANTY; without even the implied warranty of 20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 * GNU General Public License for more details. 22 * 23 * You should have received a copy of the GNU General Public License 24 * along with GNU Emacs; see the file COPYING. If not, write to the 25 * Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 26 * 27 * Commentary: 28 * 29 * Change log: 30 * 31 * Last modified date: 8,Feb.1999 32 * 33 * Code: 34 * 35 */ 36 37 /* 38 * X11R5 Input Method Test Program 39 * typedef.h v 1.0 Fri Mar 22 11:26:47 JST 1991 40 */ 41 42 /* 43 * Author: Takashi Inoue OMRON Corporation 44 * takashi@ari.ncl.omron.co.jp 45 */ 46 47 #include <sys/types.h> 48 #include <X11/Xlib.h> 49 #include <X11/Xlocale.h> 50 #include "Xi18nint.h" 51 52 typedef unsigned long FLAG; 53 54 typedef struct _testwin 55 { /* Test window */ 56 Window win; /* test WINdow */ 57 Window name; /* Name window of test window */ 58 } 59 TESTWIN; 60 61 typedef struct _resource 62 { /* RESOURCE name/class structure */ 63 char *name; /* resource NAME */ 64 char *class; /* resource CLASS */ 65 } 66 RESOURCE; 67 68 typedef struct _preedit 69 { /* PREEDIT attribution structure */ 70 XRectangle area; /* preedit-AREA */ 71 XRectangle needed; /* preedit-areaNEEDED */ 72 XPoint spot; /* preedit-SPOTlocation */ 73 Colormap cmap; /* preedit-ColorMAP */ 74 u_long fg; /* preedit-ForeGround */ 75 u_long bg; /* preedit-BackGround */ 76 Pixmap bgpm; /* preedit-BG/ PixMap */ 77 XFontSet fset; /* preedit-FontSET */ 78 int lspc; /* preedit-LineSPaCe */ 79 Cursor cursor; /* preedit-CURSOR */ 80 } 81 PREEDIT; 82 83 typedef struct _status 84 { /* STATUS attribution structure */ 85 XRectangle area; /* status-AREA */ 86 XRectangle needed; /* status-areaNEEDED */ 87 Colormap cmap; /* status-ColorMAP */ 88 u_long fg; /* status-ForeGround */ 89 u_long bg; /* status-BackGround */ 90 Pixmap bgpm; /* status-BG/ PixMap */ 91 XFontSet fset; /* status-FontSET */ 92 Cursor cursor; /* status-CURSOR */ 93 } 94 STATUS; 95 96 typedef struct _valuable 97 { /* verify VALUABLE table structure */ 98 char *vname; /* Valuable NAME */ 99 FLAG mode; /* decimal or hex or string */ 100 #ifdef SYSV 101 caddr_t sval; /* Set VALuable */ 102 caddr_t gval; /* Get VALuable */ 103 #else 104 void *sval; /* Set VALuable */ 105 void *gval; /* Get VALuable */ 106 #endif 107 } 108 VALUABLE; 109 110 typedef struct _cricmf 111 { /* CReate IC Mode Function structure */ 112 FLAG mode; /* on or over or off or root */ 113 XIC (*fmust) (); /* Function name for create ic (MUST) */ 114 XIC (*fmay) (); /* Function name for create ic (MAY) */ 115 } 116 CRICMF; 117 118 typedef struct _seticmf 119 { /* SET IC Mode Function structure */ 120 Window *mwin; /* Menu Window id */ 121 char *mname; /* Menu NAME */ 122 FLAG (*func) (); /* FUNCtion name for set */ 123 FLAG flag; /* error FLAG */ 124 } 125 SETICMF; 126 127 typedef struct _callback 128 { /* CALLBACK structure */ 129 XIMCallback start; /* START callback */ 130 XIMCallback done; /* DONE callback */ 131 XIMCallback draw; /* DRAW callback */ 132 XIMCallback caret; /* CARET callback */ 133 } 134 CALLBACK; 135 136 typedef union _string 137 { /* STRING union */ 138 char *multi_byte; 139 wchar_t *wide_char; 140 } 141 STRING; 142