1 /* # skkinput (Simple Kana-Kanji Input) 2 * SkkInputP.h --- Private Header file for SkkInputWidget. 3 * This file is part of skkinput. 4 * Copyright (C) 1997 5 * Takashi SAKAMOTO (sakamoto@yajima.kuis.kyoto-u.ac.jp) 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation; either version 2, or (at your option) 10 * any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with skkinput; see the file COPYING. If not, write to 19 * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. 20 */ 21 #ifndef _SkkInputP_h 22 #define _SkkInputP_h 23 24 #include "skkmain.h" 25 #include "skkkey.h" 26 #include "SkkInput.h" 27 #include <X11/CoreP.h> 28 29 typedef struct { 30 Pixel puppixel ; /* foreground pixel */ 31 /* ���Ѥ��Ƥ���ե���ȡ���������������Τ��ʤ��� */ 32 XFontStruct *fs_roman ; 33 XFontStruct *fs_kanji ; 34 /* ���̤����褹��Τ��Ѥ��� GC */ 35 GC roman_ngc, kanji_ngc ; 36 GC roman_rgc, kanji_rgc ; 37 /* �ե���Ȥξ�������ȴ���Ф��Ƥ���ΤϤ���ɤ��Τǡ�*/ 38 int font_height, font_ascent ; 39 int roman_width, kanji_width ; 40 /* ȿžɽ�����뤫�ݤ� */ 41 Boolean reverse_video ; 42 /* ɽ�����ֵڤӥ�������*/ 43 String geo_metry ; 44 /* ����åȥ����ץ��⡼�ɤ��ݤ���*/ 45 int chat_adapter ; 46 /* ɽ�����֡��������ν������ɬ�פ��ݤ���*/ 47 int iposflag ; 48 /* Widget ����Ȥ��٤����ݤ������������ƿƤ���Ȥ�����ĤΤ��ڤ� * 49 * �Ȼפ��Τ����ɡ� ���䡢�Ҷ����������Ū�˽�λ���륳�ޥ�ɤ����� * 50 * �Ф������Ȥ��Τ����ɡ�*/ 51 int will_be_destroyed ; 52 /* �������(egg�ߴ�)�� newline �������*/ 53 int egg_like_newline ; 54 int prev_eggnl ; 55 /* SKK �ˤ��ä��ѿ��ġ�*/ 56 int date_ad, number_style ; 57 int delete_implies_kakutei ; 58 int use_numeric_conversion ; 59 Boolean compatible_close_skkinputkey ; 60 /* �ե�����������äƤ��뤫�ɤ�����*/ 61 int is_focus ; 62 /* �������Ϥ��Ѥ�����ʬ��*/ 63 unsigned char keybuf[ 3 ] ; 64 int keybuf_use ; 65 /* �����Х���ɤ�������Ѥ�����ʬ��*/ 66 int *skkmap ; 67 int *abbrevmap ; 68 struct skkinputTwoKeys *twokeymap ; 69 /* ���ϥ٥��ȥ�����ꡣ*/ 70 unsigned char **skk_input_vector ; 71 unsigned char **skk_zenkaku_vector ; 72 /* ������̾�Υ롼��ꥹ�ȡĤ��줬�빽�����λ��˵㤭�����ˤʤ� * 73 * �����ޤ�����ư��Ƥ�褦�ʡ�*/ 74 struct skk_rom_kana_rule *rom_kana_rule_list ; 75 /* tab ����*/ 76 int tab_width ; 77 /* �ؤΥ��٥�Ȥ����ơĥ������᤹�Τ����Ѥ��롣*/ 78 XEvent xevent ; 79 /* ��ʬ������Ѥ���Хåե����������빽�������äƤ�����*/ 80 unsigned char pwrite_string[ TEXTBUFSIZE ] ; 81 unsigned char pmtextbuffer[ TEXTBUFSIZE ] ; 82 int prev_modeline ; 83 int jisyo_dirty, prev_jisyo_dirty ; 84 int prev_chat_adapter ; 85 /* ���åȥХåե���*/ 86 unsigned char cutbuffer[ TEXTBUFSIZE ] ; 87 /* ���������Ϥ�Ф��Ƥ����ҥ��ȥ�Хåե�������ä�ʸ�����������ꤷ */ 88 /* ����������Ʊ�����Ϥ��������ä��ɤ��פ�����ɬ�סĺ�����ɬ�פ��ɤ� */ 89 /* ����ʬ����ʤ����ɡ�*/ 90 unsigned char historybuffer[ TEXTBUFSIZE ] ; 91 unsigned char histcurbackbuffer[ TEXTBUFSIZE ] ; 92 int hist_start, hist_end, hist_cur ; 93 /* Callback �Ĥ���ʤ˰��դ���ġ�*/ 94 XtCallbackList endcallback ; /* Widget ���˲�����������ѡ�*/ 95 XtCallbackList fixcallback ; /* �Ѵ����ʸ���������Τ����ѡ�*/ 96 XtCallbackList keybackcallback ; /* �������᤹�Τ����ѡ�*/ 97 XtCallbackList jhenkancallback ; /* �Ѵ����ϻ��˸ƤФ�롣*/ 98 XtCallbackList jhenkanendcallback ; /* �Ѵ���λ���˸ƤФ�롣*/ 99 XtCallbackList jsavejisyocallback ; /* ����Υ����֤ǸƤФ�롣*/ 100 XtCallbackList jtangotourokucallback ; 101 XtCallbackList jtangosakujocallback ; 102 XtCallbackList jcompletioncallback ; 103 XtCallbackList jcompletionclosecallback ; 104 XtCallbackList notmodifiedcallback ; 105 /* �Ѵ����Ѥ���Хåե����Խ���ȤϤ��ΥХåե���ǹԤ��롣*/ 106 struct SKKInputNode *topbuffer ; 107 /* ���ֺǸ�ΥХåե���minibuffer ����Ǥ���ֺǿ��Τ�Τ������ǻ� * 108 * ����롣*/ 109 struct SKKInputNode *lastbuffer ; 110 111 } SkkInputPart ; 112 113 /* �դ뤤���� */ 114 typedef struct _SkkInputRec { 115 CorePart core ; 116 SkkInputPart skkinput ; 117 } SkkInputRec ; 118 119 /* New fields for the My widget class record */ 120 typedef struct { 121 int dummy ; 122 } SkkInputClassPart ; 123 124 /* �դ뤯�餹�� */ 125 typedef struct _EyesClassRec { 126 CoreClassPart core_class ; 127 SkkInputClassPart skkinput_class ; 128 } SkkInputClassRec ; 129 130 /* ���餹�ݤ��� */ 131 extern SkkInputClassRec skkinputClassRec ; 132 133 #endif 134