?? imein.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 + -