Leaked source code of windows server 2003
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.

89 lines
2.4 KiB

  1. #ifndef _IME_SK_DIC_H_
  2. #define _IME_SK_DIC_H_
  3. #include <windows.h>
  4. #include <objbase.h>
  5. #define MAX_YOMI_COUNT 16
  6. #define MAX_ITAIJI_COUNT 16
  7. #define MAX_RADYOMI_COUNT 32 //970930
  8. #define KIF_STROKECOUNT 0x0001
  9. #define KIF_RADICALBMP 0x0002
  10. #define KIF_YOMI 0x0004
  11. #define KIF_ITAIJI 0x0008
  12. #define KIF_RADICALINDEX 0x0010 //980615: ToshiaK new for Raid #1966
  13. #define KIF_ALL 0x000F
  14. #pragma pack(1)
  15. typedef struct tagKANJIINFO {
  16. INT mask;
  17. WCHAR wchKanji;
  18. USHORT usTotalStroke;
  19. HBITMAP hBmpRadical;
  20. LONG lRadicalIndex;
  21. WCHAR wchOnYomi1[MAX_YOMI_COUNT+1];
  22. WCHAR wchOnYomi2[MAX_YOMI_COUNT+1];
  23. WCHAR wchKunYomi1[MAX_YOMI_COUNT+1];
  24. WCHAR wchKunYomi2[MAX_YOMI_COUNT+1];
  25. INT cItaijiCount;
  26. WCHAR wchItaiji[MAX_ITAIJI_COUNT];
  27. ULONG ulRes1;
  28. ULONG ulRes2;
  29. }KANJIINFO, *LPKANJIINFO ;
  30. #define RIF_STROKECOUNT 0x0001
  31. #define RIF_BITMAP 0x0002
  32. #define RIF_KANJICOUNT 0x0004
  33. #define RIF_READING 0x0008
  34. #ifdef MSAA
  35. #define RIF_RADICALINDEX 0x0010 //980817: kwada to get id of radical bitmap.
  36. #endif
  37. typedef struct tagRadicalInfo {
  38. INT mask;
  39. INT stroke;
  40. HBITMAP hBitmap;
  41. #ifdef MSAA
  42. LONG lRadicalIndex; //980817: kwada to get id of radical bitmap.
  43. #endif
  44. INT cKanjiCount;
  45. WCHAR wchReading[MAX_RADYOMI_COUNT+1];
  46. }RADICALINFO, *LPRADICALINFO;
  47. #ifdef __cplusplus
  48. extern "C" {
  49. #endif
  50. DECLARE_INTERFACE_(IImeSkdic, IUnknown)
  51. {
  52. STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE;
  53. STDMETHOD_(ULONG, AddRef) (THIS) PURE;
  54. STDMETHOD_(ULONG, Release) (THIS) PURE;
  55. STDMETHOD(GetKanjiInfo)(THIS_ WCHAR wchKanjiCode, LPKANJIINFO lpKInfo) PURE;
  56. STDMETHOD_(INT, GetMaxRadicalStrokeCount) (THIS) PURE;
  57. STDMETHOD_(INT, GetRadicalCountByStroke) (THIS_ INT stroke) PURE;
  58. STDMETHOD(GetRadicalByStrokeIndex) (THIS_ INT stroke,
  59. INT index,
  60. LPRADICALINFO lpRadInfo) PURE;
  61. STDMETHOD(GetKanjiCountByRadicalStrokeIndex)(THIS_ INT radStroke, INT index) PURE;
  62. STDMETHOD(GetKanjiInfoByRadicalStrokeIndex) (THIS_ INT radStroke,
  63. INT index,
  64. INT kanjiIndex,
  65. LPKANJIINFO lpKInfo) PURE;
  66. STDMETHOD_(INT, GetMaxStrokeCount) (THIS) PURE;
  67. STDMETHOD_(INT, GetKanjiCountByStroke) (THIS_ INT stroke) PURE;
  68. STDMETHOD(GetKanjiInfoByStrokeIndex) (THIS_ INT stroke,
  69. INT index,
  70. LPKANJIINFO lpKInfo) PURE;
  71. };
  72. #pragma pack()
  73. #ifdef __cplusplus
  74. };
  75. #endif
  76. #endif //_IME_SK_DIC_H_