⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 imein.h

📁 好记星的控件,包括button,list,对文件操作
💻 H
字号:
/*************************************************************************/
/*                                                                       */
/*              Copyright (C) 2002 SHENZHEN MEIJIN CO.LTD                */
/*                                                                       */
/* FILE NAME:   PrjIme.h                                                 */
/* MODULE NAME: 项目管理				                                 */
/* DESCRIPTION: 输入法			                                         */
/*                                                                       */
/*************************************************************************/
/*    DTAE       AUTHOR     VERSION                 REMARKS              */
/* =========== ==========  =========  ===================================*/
/* 2001-03-17  Michael     Ver 1.00   创建                               */
/* 2002-09-04  Michael     Ver 2.00   Os3.2标准化                        */
/* 2003-03-24  Qorse       Ver 3.00   学生机(无笔点)                     */
/* 2004-12-18  Bingle      Ver 4.00   笔点机                             */
/*************************************************************************/
/*------ 防止被重复引用的预处理 ------*/
#ifndef __PRJIME_H__
#define __PRJIME_H__

/*------ 宏定义 ------*/

/*输入法处理状态*/
#define IM_INPUT_NULL	1
#define IM_INPUT_DOING	2
#define IM_INPUT_ZC		3
#define IM_INPUT_LX		4
#define IM_INPUT_ERROR	5
#define IM_INPUT_LXZC	6	//联想输入下的字词选择

#define IME_NEED_REFRESH    1
#define IME_NO_REFRESH	    0

#define IME_MAXNUMBER	    8		//输入法最多数目 

#define IMBUHUATOTAL	    27


#define HZ_PER_PAGE     9					/*每页容纳的汉字个数*/
#define PY_PER_PAGE		9

#define IME_CANDI_X		40
#define PY_CANDI_X		90
#define WB_CANDI_X		90
#define IME_CANDI_INTERVAL	26


//移到ime.h里
//#define IM_HEIGHT		(SYSFONTWIDTH+1)					/*输入框的高度*/ 
#define IM_OUTBUFF_LEN	((HZ_PER_PAGE+1)*3)	/*备选汉字缓冲区大小*/
#define IM_INBUFF_LEN	10					/*用户输入缓冲区大小*/
/*符号输入法*/
#define SY_SKEYDATANUM	42
#define YB_SKEYDATANUM	12
/*英数*/
#define IME_ENGLISH_TIMERID      0x9732     /*拼音输入法的TimerID*/    

//#define IME_CANDI_X		40
//#define PY_CANDI_X		90
//#define WB_CANDI_X		90


/*拼音*/
#define IMPY_INPUT_LEN			7
#define IMPY_INDEX_LEN			(IMPY_INPUT_LEN + 2)
#define GBKPY_INDEX_NUM			1820

#define JAPAN_INDEX_NUM         493
/*五笔*/
#define IMWB_INPUT_LEN			4
#define IM_WORD_MAX				109
#define IMWB_INDEX_NUM			6768
#define	IMWB_DATA_ADDR			WUBI_ADDRESS
#define IMWB_INDEX_LEN			(IMWB_INPUT_LEN+2)
#define IMWB_FIRSTLEVEL_OFF		0x5FA6
#define IMWB_SECONDLEVEL_OFF	0x0000
#define IMWB_THIRDLEVEL_OFF		0x5FD8
#define IMWB_SECONDINDEX_OFF	0x04E2
#define IMWB_SECONDSAME_OFF		0x09C2
#define IMWB_THIRDORDER_OFF		0x3E9A
#define IMWB_FOURTHORDER_OFF	0x4F20

/*宏定义*/
#define FOR_IME_ALL
#define FOR_IME_ENGLISH
#define FOR_IME_PINYIN
#define FOR_IME_WUBI
#define FOR_IME_BIHUA
#define FOR_IME_BUSHOU
#define FOR_IME_NANJIAN
#define FOR_IME_SYMBOL

#define FOR_ED132_133_PRJ
#define FOR_ED135_PRJ



/*------ 函数声明 ------*/
//function assert for file ImeComm.c
INT     _ImDichSearch(UINT startNum, UINT endNum, INT (*searchFunc)(UINT));
VOID    __IMEGetChar(UINT *pEvent, UINT *pParam);
VOID    __ImeConvertCase(UINT *pEvent, UINT *pParam);
BOOL    _ImGetAssociation(UINT16 code);
BOOL    _imLeftRight(UINT *pEvent, UINT *pParam);
BOOL    _IMEGetSelectWord(UINT *pEvent, UINT *pParam);
BOOL	_imOutputData(UINT16 index, UINT16 *getedzi, UINT *pEvent);

//----------------------------------------------------
BOOL	_imBihuaGetData(void);		//笔画输入法取数据函数
void	ImGetBiShouDataAddr(void);	//GET部首数据的地址
BOOL	_imBushouGetData(void);		//部首输入法取数据函数
void	_imNanjianGetData(void);	// GET难检数据
//----------------------------------------------------
BOOL    _PyWbGetData(UINT uType);
BOOL    __ImPyGetWord(VOID);
BOOL    __ImGBKGetWord(VOID);
void    _PinyinDrawGraph();
BOOL    _ImWbGetWord(void);
BOOL    _ImWbOneTwoCode();
BOOL    _ImWbThreeCode();
BOOL    _ImWbFourCode();
UINT16  _ImGetCodeNum(UINT16 xCode);
UINT8   _ImGetOrderValue(UINT16 xOff);

void	_imDrawArrow(void);
VOID	__ImeDrawInputBoxHead(UINT uType);
VOID	ImeDrawIndexNum(UINT8 index,UINT uType);
VOID	_ImeDrawGraph(UINT uType);
VOID	ImeDrawSplit();
extern const UINT8 * const ime_InputBoxHead[];


//----------------------------------------------------
BOOL	_ImeInitialize(MIMEManager *pImeManager, UINT uInitMode);
VOID	__InitialIME();
VOID	__ResetIME();
VOID    _IMEDrawGraph(UINT uType);
void    _ImeSwitchPendown(IMEGUI_STRUCT *pApGui, UINT *pEvent, UINT *pParam,UINT uType);

void    ImGetBiShouDataAddr(void);

BOOL    HwInitial(VOID);
VOID    HwTerminate(VOID);
VOID    CallImeSymbol(UINT uImeType);
INT  _EnglishHandleEvent(IMEGUI_STRUCT *pApGui,  UINT *pEvent, UINT *pParam);
INT  _SymBolHandleEvent(IMEGUI_STRUCT *pApGui,  UINT *pEvent, UINT *pParam);
INT  _GBKHandleEvent(IMEGUI_STRUCT *pApGui,  UINT *pEvent, UINT *pParam);
INT  _WuBiHandleEvent(IMEGUI_STRUCT *pApGui,  UINT *pEvent, UINT *pParam);
INT  _HandWriteHandleEvent(IMEGUI_STRUCT *pApGui,  UINT *pEvent, UINT *pParam);
INT  _BuShouHandleEvent(IMEGUI_STRUCT *pApGui,  UINT *pEvent, UINT *pParam);
INT  _BiHuaHandleEvent(IMEGUI_STRUCT *pApGui,  UINT *pEvent, UINT *pParam);
INT  _NanJianHandleEvent(IMEGUI_STRUCT *pApGui,  UINT *pEvent, UINT *pParam);
//UINT32 _IMERiWenHandleEvent(IMEGUI_STRUCT *pApGui,  UINT *pEvent, UINT *pParam);

extern UINT8		g_pIMEOutBuffer[IM_OUTBUFF_LEN];
extern UINT8		g_pIMEInBuffer[IM_INBUFF_LEN];
extern UINT8		g_pIMEOutWordBuf[3];
extern UINT		    g_pIMEInputednum;
extern HTIMER		g_pIMETimer;
extern MInputBox	g_mInputBox;
extern BOOL         g_bHandWriteActive;

extern UINT16 		g_pIMEAssocNum;
extern UINT16 		g_pIMECandiPos;
extern UINT16 		g_pIMEWordNum;
extern UINT8		*g_pIMEDataAddr;
extern UINT8		g_pIMEWordTypeNum;
extern UINT8		g_pIMElasttype;
extern UINT8		g_IMEShowFlag[IME_MAXNUMBER];
extern BOOL         g_bSecond;
extern int          g_nPressedKey;


//ping wubu using variable
extern UINT8   g_byPYShengPressed;
extern UINT8	g_pIMEPyIndexBuffer[IM_INBUFF_LEN];
extern UINT8	g_pIMEWordBuffer[IM_WORD_MAX*2];		//IM_WORD_MAX*2
extern UINT16 	g_pIMECurIndex;
extern UINT16	g_pIMEWbOrderNum;
extern UINT16	g_pIMEWordIndexNum;						//用于五笔取数据


//bushou using variable
extern UINT8		*g_pBushouAddr;
extern UINT16		g_pIMEBushouWordLen,g_pIMEBushouWordIndex;
extern UINT16		g_pIMEBushou_bhbh,g_pIMEBushou_bsb,g_pIMEBushou_bs,g_pIMEBushou_bh;
extern UINT16		g_pIMEBushou_hz,g_pIMEBushouState;		/*用于部首和难检*/




#define		IME_ICON_NULL			0
#define		IMECATALOG_ITEM_NUM			IME_MAXNUMBER

#define		IME_SELECTED_ICON			IDB_IME_SELECTED
#define		IME_NOSELECTED_ICON			IDB_IME_NO
//画目录界面一些点线的坐标定位
#define		IMECATALOG_ITEM_ICON_STARTX		170
#define		IMECATALOG_ITEM_ICON_STARTY	    100
#define		IMECATALOG_ITEM_TEXT_STARTX		190
#define		IMECATALOG_ITEM_TEXT_STARTY		97

#define		IMECATALOG_HINT_TEXT_STARTX		190
#define		IMECATALOG_HINT_TEXT_STARTY		54

#define		IMECATALOG_ITEMICON_X_INTERVAL	  90
#define		IMECATALOG_ITEMICON_Y_INTERVAL		30
#define		IMECATALOG_ITEMTEXT_X_INTERVAL	  90
#define		IMECATALOG_ITEMTEXT_Y_INTERVAL		30
//------------
//------------
#define		IME_LEFTLINE_LINE0_X1	120//	33	
#define		IME_LEFTLINE_LINE0_Y1	30//	12
#define		IME_LEFTLINE_LINE0_X2	120//	33	
#define		IME_LEFTLINE_LINE0_Y2	280//	128

#define		IME_LEFTLINE_LINE1_X1	121//	33	
#define		IME_LEFTLINE_LINE1_Y1	30//	12
#define		IME_LEFTLINE_LINE1_X2	121//	33	
#define		IME_LEFTLINE_LINE1_Y2	280//	128

//------------
#define		IME_UPLINE_LINE0_X1		121//34
#define		IME_UPLINE_LINE0_Y1		30//11
#define		IME_UPLINE_LINE0_X2		360//202
#define		IME_UPLINE_LINE0_Y2		30//11

#define		IME_UPLINE_LINE1_X1		121//36	
#define		IME_UPLINE_LINE1_Y1		31//13
#define		IME_UPLINE_LINE1_X2		360//200
#define		IME_UPLINE_LINE1_Y2		31//13
//------------
#define		IME_RIGHTLINE_LINE0_X1		360//202	
#define		IME_RIGHTLINE_LINE0_Y1		30//12
#define		IME_RIGHTLINE_LINE0_X2		360//202
#define		IME_RIGHTLINE_LINE0_Y2		280//129

#define		IME_RIGHTLINE_LINE1_X1		361//203
#define		IME_RIGHTLINE_LINE1_Y1		30//13
#define		IME_RIGHTLINE_LINE1_X2		361//203
#define		IME_RIGHTLINE_LINE1_Y2		280//129
//------------
#define		IME_DOWNLINE_LINE0_X1		121//34	
#define		IME_DOWNLINE_LINE0_Y1		280//129
#define		IME_DOWNLINE_LINE0_X2		360//202
#define		IME_DOWNLINE_LINE0_Y2		280//129

#define		IME_DOWNLINE_LINE1_X1		121//35
#define		IME_DOWNLINE_LINE1_Y1		281//130
#define		IME_DOWNLINE_LINE1_X2		360//202
#define		IME_DOWNLINE_LINE1_Y2		281//130
//-------虚线坐标定义
#define		IME_UPDOTLINE_LINE0_X1		122//36	
#define		IME_UPDOTLINE_LINE0_Y1		34//15
#define		IME_UPDOTLINE_LINE0_X2		359//200	
#define		IME_UPDOTLINE_LINE0_Y2		34//15

#define		IME_UPDOTLINE_LINE1_X1		122//36	
#define		IME_UPDOTLINE_LINE1_Y1		36//17
#define		IME_UPDOTLINE_LINE1_X2		359//200	
#define		IME_UPDOTLINE_LINE1_Y2		36//17

#define		IME_UPDOTLINE_LINE2_X1		122//36	
#define		IME_UPDOTLINE_LINE2_Y1		38//19
#define		IME_UPDOTLINE_LINE2_X2		359//200	
#define		IME_UPDOTLINE_LINE2_Y2		38//19

#define		IME_UPDOTLINE_LINE3_X1		122//36	
#define		IME_UPDOTLINE_LINE3_Y1		40//21
#define		IME_UPDOTLINE_LINE3_X2		359//200	
#define		IME_UPDOTLINE_LINE3_Y2		40//21

#define		IME_MIDDOTLINE_LINE0_X1		142//44
#define		IME_MIDDOTLINE_LINE0_Y1		62//47
#define		IME_MIDDOTLINE_LINE0_X2		340//187
#define		IME_MIDDOTLINE_LINE0_Y2		62//47

/*
#define		IME_DOWNDOTLINE_LINE0_X1		36
#define		IME_DOWNDOTLINE_LINE0_Y1		127
#define		IME_DOWNDOTLINE_LINE0_X2		200
#define		IME_DOWNDOTLINE_LINE0_Y2		127

#define		IME_RIGHTDOTLINE_LINE0_X1		200
#define		IME_RIGHTDOTLINE_LINE0_Y1		21
#define		IME_RIGHTDOTLINE_LINE0_X2		200
#define		IME_RIGHTDOTLINE_LINE0_Y2		127
*/





#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -