105 lines
2.7 KiB
C
105 lines
2.7 KiB
C
|
|
/*************************************************
|
|
* privconv.h *
|
|
* *
|
|
* Copyright (C) 1995-1999 Microsoft Inc. *
|
|
* *
|
|
*************************************************/
|
|
|
|
// PRIVATE CONTEXT STRU
|
|
typedef struct _tagPRIVCONTEXT {// IME private data for each context
|
|
int iImeState; // the composition state - input, choose, or
|
|
BOOL fdwImeMsg; // what messages should be generated
|
|
DWORD dwCompChar; // wParam of WM_IME_COMPOSITION
|
|
DWORD fdwGcsFlag; // lParam for WM_IME_COMPOSITION
|
|
// Old Candidate List Count
|
|
DWORD dwOldCandCnt;
|
|
// Symbol pair Flag
|
|
UINT uSYHFlg;
|
|
UINT uDYHFlg;
|
|
UINT uDSMHCount;
|
|
UINT uDSMHFlg;
|
|
// mb file name
|
|
int iActMBIndex;
|
|
TCHAR MB_Name[40];
|
|
TCHAR EMB_Name[40];
|
|
// input engine data
|
|
PRIVATEAREA PrivateArea;
|
|
#ifdef CROSSREF
|
|
HIMCC hRevCandList; // memory for reconsion result
|
|
#endif //CROSSREF
|
|
} PRIVCONTEXT;
|
|
|
|
typedef PRIVCONTEXT *PPRIVCONTEXT;
|
|
typedef PRIVCONTEXT NEAR *NPPRIVCONTEXT;
|
|
typedef PRIVCONTEXT FAR *LPPRIVCONTEXT;
|
|
|
|
typedef struct tagMBDesc {
|
|
TCHAR szName[NAMESIZE];
|
|
WORD wMaxCodes;
|
|
WORD wNumCodes;
|
|
TCHAR szUsedCode[MAXUSEDCODES];
|
|
BYTE byMaxElement;
|
|
TCHAR cWildChar;
|
|
WORD wNumRulers;
|
|
} MBDESC;
|
|
|
|
typedef MBDESC *PMBDESC;
|
|
typedef MBDESC NEAR *NPMBDESC;
|
|
typedef MBDESC FAR *LPMBDESC;
|
|
|
|
typedef struct tagIMEChara {
|
|
DWORD IC_LX;
|
|
DWORD IC_CZ;
|
|
DWORD IC_TS;
|
|
DWORD IC_CTC;
|
|
DWORD IC_INSSPC;
|
|
DWORD IC_Space;
|
|
DWORD IC_Enter;
|
|
DWORD IC_Trace;
|
|
//CHP
|
|
DWORD IC_FCSR;
|
|
DWORD IC_FCTS;
|
|
#if defined(COMBO_IME)
|
|
DWORD IC_GB;
|
|
#endif
|
|
} IMECHARA;
|
|
|
|
typedef IMECHARA *PIMECHARA;
|
|
typedef IMECHARA NEAR *NPIMECHARA;
|
|
typedef IMECHARA FAR *LPIMECHARA;
|
|
|
|
#ifdef EUDC
|
|
typedef struct tagEUDCDATA {
|
|
TCHAR szEudcDictName[MAX_PATH];
|
|
TCHAR szEudcMapFileName[MAX_PATH];
|
|
}EUDCDATA;
|
|
typedef EUDCDATA *PEUDCDATA;
|
|
typedef EUDCDATA NEAR *NPEUDCDATA;
|
|
typedef EUDCDATA FAR *LPEUDCDATA;
|
|
|
|
#endif //EUDC
|
|
|
|
typedef struct tagMBIndex {
|
|
int MBNums;
|
|
MBDESC MBDesc[MAXMBNUMS];
|
|
IMECHARA IMEChara[MAXMBNUMS];
|
|
TCHAR ObjImeKey[MAXMBNUMS][MAXSTRLEN];
|
|
#ifdef EUDC
|
|
EUDCDATA EUDCData;
|
|
#endif //EUDC
|
|
#if defined(CROSSREF)
|
|
// reverse conversion
|
|
HKL hRevKL; // the HKL of reverse mapping IME
|
|
DWORD nRevMaxKey;
|
|
#endif //CROSSREF
|
|
// CHP
|
|
int IsFussyCharFlag; //fussy char flag
|
|
|
|
} MBINDEX;
|
|
|
|
typedef MBINDEX *PMBINDEX;
|
|
typedef MBINDEX NEAR *NPMBINDEX;
|
|
typedef MBINDEX FAR *LPMBINDEX;
|
|
|