Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

104 lines
2.7 KiB

  1. /*************************************************
  2. * privconv.h *
  3. * *
  4. * Copyright (C) 1995-1999 Microsoft Inc. *
  5. * *
  6. *************************************************/
  7. // PRIVATE CONTEXT STRU
  8. typedef struct _tagPRIVCONTEXT {// IME private data for each context
  9. int iImeState; // the composition state - input, choose, or
  10. BOOL fdwImeMsg; // what messages should be generated
  11. DWORD dwCompChar; // wParam of WM_IME_COMPOSITION
  12. DWORD fdwGcsFlag; // lParam for WM_IME_COMPOSITION
  13. // Old Candidate List Count
  14. DWORD dwOldCandCnt;
  15. // Symbol pair Flag
  16. UINT uSYHFlg;
  17. UINT uDYHFlg;
  18. UINT uDSMHCount;
  19. UINT uDSMHFlg;
  20. // mb file name
  21. int iActMBIndex;
  22. TCHAR MB_Name[40];
  23. TCHAR EMB_Name[40];
  24. // input engine data
  25. PRIVATEAREA PrivateArea;
  26. #ifdef CROSSREF
  27. HIMCC hRevCandList; // memory for reconsion result
  28. #endif //CROSSREF
  29. } PRIVCONTEXT;
  30. typedef PRIVCONTEXT *PPRIVCONTEXT;
  31. typedef PRIVCONTEXT NEAR *NPPRIVCONTEXT;
  32. typedef PRIVCONTEXT FAR *LPPRIVCONTEXT;
  33. typedef struct tagMBDesc {
  34. TCHAR szName[NAMESIZE];
  35. WORD wMaxCodes;
  36. WORD wNumCodes;
  37. TCHAR szUsedCode[MAXUSEDCODES];
  38. BYTE byMaxElement;
  39. TCHAR cWildChar;
  40. WORD wNumRulers;
  41. } MBDESC;
  42. typedef MBDESC *PMBDESC;
  43. typedef MBDESC NEAR *NPMBDESC;
  44. typedef MBDESC FAR *LPMBDESC;
  45. typedef struct tagIMEChara {
  46. DWORD IC_LX;
  47. DWORD IC_CZ;
  48. DWORD IC_TS;
  49. DWORD IC_CTC;
  50. DWORD IC_INSSPC;
  51. DWORD IC_Space;
  52. DWORD IC_Enter;
  53. DWORD IC_Trace;
  54. //CHP
  55. DWORD IC_FCSR;
  56. DWORD IC_FCTS;
  57. #if defined(COMBO_IME)
  58. DWORD IC_GB;
  59. #endif
  60. } IMECHARA;
  61. typedef IMECHARA *PIMECHARA;
  62. typedef IMECHARA NEAR *NPIMECHARA;
  63. typedef IMECHARA FAR *LPIMECHARA;
  64. #ifdef EUDC
  65. typedef struct tagEUDCDATA {
  66. TCHAR szEudcDictName[MAX_PATH];
  67. TCHAR szEudcMapFileName[MAX_PATH];
  68. }EUDCDATA;
  69. typedef EUDCDATA *PEUDCDATA;
  70. typedef EUDCDATA NEAR *NPEUDCDATA;
  71. typedef EUDCDATA FAR *LPEUDCDATA;
  72. #endif //EUDC
  73. typedef struct tagMBIndex {
  74. int MBNums;
  75. MBDESC MBDesc[MAXMBNUMS];
  76. IMECHARA IMEChara[MAXMBNUMS];
  77. TCHAR ObjImeKey[MAXMBNUMS][MAXSTRLEN];
  78. #ifdef EUDC
  79. EUDCDATA EUDCData;
  80. #endif //EUDC
  81. #if defined(CROSSREF)
  82. // reverse conversion
  83. HKL hRevKL; // the HKL of reverse mapping IME
  84. DWORD nRevMaxKey;
  85. #endif //CROSSREF
  86. // CHP
  87. int IsFussyCharFlag; //fussy char flag
  88. } MBINDEX;
  89. typedef MBINDEX *PMBINDEX;
  90. typedef MBINDEX NEAR *NPMBINDEX;
  91. typedef MBINDEX FAR *LPMBINDEX;