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