windows-nt/Source/XPSP1/NT/windows/feime/chs/ntime/privcon.h
2020-09-26 16:20:57 +08:00

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;