1 /* # skkinput (Simple Kana-Kanji Input)
2  *
3  * This file is part of skkinput.
4  * Copyright (C) 2002
5  * Takashi SAKAMOTO (PXG01715@nifty.ne.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 #if !defined (lispmachine_h)
22 #define	lispmachine_h
23 
24 #include "lispmgrp.h"
25 #include "vstack.h"
26 
27 typedef enum {
28 	LMR_ERROR,
29 	LMR_FATALERROR,
30 	LMR_SUSPEND,
31 	LMR_CONTINUE,
32 	LMR_RETURN,
33 	LMR_TICK,
34 	LMR_DONE,
35 	LMR_DESTROYED,	/* LispMachine ���˴����줿���ʸ塢pLM �λ��Ѥ϶ػߡ�*/
36 }	TLMRESULT ;
37 
38 typedef enum {
39 	LMEVENT_INVALID	= -1,
40 	LMEVENT_KEYPRESS,
41 	LMEVENT_FRAMERESIZE,
42 }	TLMEVENT ;
43 
44 struct tagTLispMachine ;
45 struct tagTLispEntity ;
46 struct tagTLispBind ;
47 
48 typedef struct tagTLispMachine	TLispMachine ;
49 
50 /*	Prototypes */
51 Boolean			TLispMachine_Create				(TLispManager*, TLispMachine*, TLispMachine** const) ;
52 Boolean			TLispMachine_Destroy			(TLispMachine*) ;
53 TLMRESULT		TLispMachine_Test				(TLispMachine*, struct tagTLispEntity*) ;
54 Boolean			TLispMachine_EventProc			(TLispMachine*, int, void*, void*) ;
55 TLispManager*	TLispMachine_GetLispManager		(TLispMachine*) ;
56 
57 #endif
58 
59