imm.h 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511
  1. /**
  2. * This file has no copyright assigned and is placed in the Public Domain.
  3. * This file is part of the mingw-w64 runtime package.
  4. * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5. */
  6. #ifndef _IMM_
  7. #define _IMM_
  8. #include <_mingw_unicode.h>
  9. #ifdef __cplusplus
  10. extern "C" {
  11. #endif
  12. #ifndef _IMM_SDK_DEFINED_
  13. #define _IMM_SDK_DEFINED_
  14. DECLARE_HANDLE(HIMC);
  15. DECLARE_HANDLE(HIMCC);
  16. typedef HKL *LPHKL;
  17. #ifndef DEFINED_LPUINT
  18. #define DEFINED_LPUINT
  19. typedef UINT *LPUINT;
  20. #endif
  21. typedef struct tagCOMPOSITIONFORM {
  22. DWORD dwStyle;
  23. POINT ptCurrentPos;
  24. RECT rcArea;
  25. } COMPOSITIONFORM,*PCOMPOSITIONFORM,*NPCOMPOSITIONFORM,*LPCOMPOSITIONFORM;
  26. typedef struct tagCANDIDATEFORM {
  27. DWORD dwIndex;
  28. DWORD dwStyle;
  29. POINT ptCurrentPos;
  30. RECT rcArea;
  31. } CANDIDATEFORM,*PCANDIDATEFORM,*NPCANDIDATEFORM,*LPCANDIDATEFORM;
  32. typedef struct tagCANDIDATELIST {
  33. DWORD dwSize;
  34. DWORD dwStyle;
  35. DWORD dwCount;
  36. DWORD dwSelection;
  37. DWORD dwPageStart;
  38. DWORD dwPageSize;
  39. DWORD dwOffset[1];
  40. } CANDIDATELIST,*PCANDIDATELIST,*NPCANDIDATELIST,*LPCANDIDATELIST;
  41. typedef struct tagREGISTERWORDA {
  42. LPSTR lpReading;
  43. LPSTR lpWord;
  44. } REGISTERWORDA,*PREGISTERWORDA,*NPREGISTERWORDA,*LPREGISTERWORDA;
  45. typedef struct tagREGISTERWORDW {
  46. LPWSTR lpReading;
  47. LPWSTR lpWord;
  48. } REGISTERWORDW,*PREGISTERWORDW,*NPREGISTERWORDW,*LPREGISTERWORDW;
  49. __MINGW_TYPEDEF_AW(REGISTERWORD)
  50. __MINGW_TYPEDEF_AW(PREGISTERWORD)
  51. __MINGW_TYPEDEF_AW(NPREGISTERWORD)
  52. __MINGW_TYPEDEF_AW(LPREGISTERWORD)
  53. typedef struct tagRECONVERTSTRING {
  54. DWORD dwSize;
  55. DWORD dwVersion;
  56. DWORD dwStrLen;
  57. DWORD dwStrOffset;
  58. DWORD dwCompStrLen;
  59. DWORD dwCompStrOffset;
  60. DWORD dwTargetStrLen;
  61. DWORD dwTargetStrOffset;
  62. } RECONVERTSTRING,*PRECONVERTSTRING,*NPRECONVERTSTRING,*LPRECONVERTSTRING;
  63. #define STYLE_DESCRIPTION_SIZE 32
  64. typedef struct tagSTYLEBUFA {
  65. DWORD dwStyle;
  66. CHAR szDescription[STYLE_DESCRIPTION_SIZE];
  67. } STYLEBUFA,*PSTYLEBUFA,*NPSTYLEBUFA,*LPSTYLEBUFA;
  68. typedef struct tagSTYLEBUFW {
  69. DWORD dwStyle;
  70. WCHAR szDescription[STYLE_DESCRIPTION_SIZE];
  71. } STYLEBUFW,*PSTYLEBUFW,*NPSTYLEBUFW,*LPSTYLEBUFW;
  72. __MINGW_TYPEDEF_AW(STYLEBUF)
  73. __MINGW_TYPEDEF_AW(PSTYLEBUF)
  74. __MINGW_TYPEDEF_AW(NPSTYLEBUF)
  75. __MINGW_TYPEDEF_AW(LPSTYLEBUF)
  76. #define IMEMENUITEM_STRING_SIZE 80
  77. typedef struct tagIMEMENUITEMINFOA {
  78. UINT cbSize;
  79. UINT fType;
  80. UINT fState;
  81. UINT wID;
  82. HBITMAP hbmpChecked;
  83. HBITMAP hbmpUnchecked;
  84. DWORD dwItemData;
  85. CHAR szString[IMEMENUITEM_STRING_SIZE];
  86. HBITMAP hbmpItem;
  87. } IMEMENUITEMINFOA,*PIMEMENUITEMINFOA,*NPIMEMENUITEMINFOA,*LPIMEMENUITEMINFOA;
  88. typedef struct tagIMEMENUITEMINFOW {
  89. UINT cbSize;
  90. UINT fType;
  91. UINT fState;
  92. UINT wID;
  93. HBITMAP hbmpChecked;
  94. HBITMAP hbmpUnchecked;
  95. DWORD dwItemData;
  96. WCHAR szString[IMEMENUITEM_STRING_SIZE];
  97. HBITMAP hbmpItem;
  98. } IMEMENUITEMINFOW,*PIMEMENUITEMINFOW,*NPIMEMENUITEMINFOW,*LPIMEMENUITEMINFOW;
  99. __MINGW_TYPEDEF_AW(IMEMENUITEMINFO)
  100. __MINGW_TYPEDEF_AW(PIMEMENUITEMINFO)
  101. __MINGW_TYPEDEF_AW(NPIMEMENUITEMINFO)
  102. __MINGW_TYPEDEF_AW(LPIMEMENUITEMINFO)
  103. typedef struct tagIMECHARPOSITION {
  104. DWORD dwSize;
  105. DWORD dwCharPos;
  106. POINT pt;
  107. UINT cLineHeight;
  108. RECT rcDocument;
  109. } IMECHARPOSITION,*PIMECHARPOSITION,*NPIMECHARPOSITION,*LPIMECHARPOSITION;
  110. typedef WINBOOL (CALLBACK *IMCENUMPROC)(HIMC,LPARAM);
  111. #define ImmInstallIME __MINGW_NAME_AW(ImmInstallIME)
  112. #define ImmGetDescription __MINGW_NAME_AW(ImmGetDescription)
  113. #define ImmGetIMEFileName __MINGW_NAME_AW(ImmGetIMEFileName)
  114. #define ImmGetCompositionString __MINGW_NAME_AW(ImmGetCompositionString)
  115. #define ImmSetCompositionString __MINGW_NAME_AW(ImmSetCompositionString)
  116. #define ImmGetCandidateListCount __MINGW_NAME_AW(ImmGetCandidateListCount)
  117. #define ImmGetCandidateList __MINGW_NAME_AW(ImmGetCandidateList)
  118. #define ImmGetGuideLine __MINGW_NAME_AW(ImmGetGuideLine)
  119. HKL WINAPI ImmInstallIMEA(LPCSTR lpszIMEFileName,LPCSTR lpszLayoutText);
  120. HKL WINAPI ImmInstallIMEW(LPCWSTR lpszIMEFileName,LPCWSTR lpszLayoutText);
  121. HWND WINAPI ImmGetDefaultIMEWnd(HWND);
  122. UINT WINAPI ImmGetDescriptionA(HKL,LPSTR,UINT uBufLen);
  123. UINT WINAPI ImmGetDescriptionW(HKL,LPWSTR,UINT uBufLen);
  124. UINT WINAPI ImmGetIMEFileNameA(HKL,LPSTR,UINT uBufLen);
  125. UINT WINAPI ImmGetIMEFileNameW(HKL,LPWSTR,UINT uBufLen);
  126. DWORD WINAPI ImmGetProperty(HKL,DWORD);
  127. WINBOOL WINAPI ImmIsIME(HKL);
  128. WINBOOL WINAPI ImmSimulateHotKey(HWND,DWORD);
  129. HIMC WINAPI ImmCreateContext(void);
  130. WINBOOL WINAPI ImmDestroyContext(HIMC);
  131. HIMC WINAPI ImmGetContext(HWND);
  132. WINBOOL WINAPI ImmReleaseContext(HWND,HIMC);
  133. HIMC WINAPI ImmAssociateContext(HWND,HIMC);
  134. WINBOOL WINAPI ImmAssociateContextEx(HWND,HIMC,DWORD);
  135. LONG WINAPI ImmGetCompositionStringA(HIMC,DWORD,LPVOID,DWORD);
  136. LONG WINAPI ImmGetCompositionStringW(HIMC,DWORD,LPVOID,DWORD);
  137. WINBOOL WINAPI ImmSetCompositionStringA(HIMC,DWORD dwIndex,LPVOID lpComp,DWORD,LPVOID lpRead,DWORD);
  138. WINBOOL WINAPI ImmSetCompositionStringW(HIMC,DWORD dwIndex,LPVOID lpComp,DWORD,LPVOID lpRead,DWORD);
  139. DWORD WINAPI ImmGetCandidateListCountA(HIMC,LPDWORD lpdwListCount);
  140. DWORD WINAPI ImmGetCandidateListCountW(HIMC,LPDWORD lpdwListCount);
  141. DWORD WINAPI ImmGetCandidateListA(HIMC,DWORD deIndex,LPCANDIDATELIST,DWORD dwBufLen);
  142. DWORD WINAPI ImmGetCandidateListW(HIMC,DWORD deIndex,LPCANDIDATELIST,DWORD dwBufLen);
  143. DWORD WINAPI ImmGetGuideLineA(HIMC,DWORD dwIndex,LPSTR,DWORD dwBufLen);
  144. DWORD WINAPI ImmGetGuideLineW(HIMC,DWORD dwIndex,LPWSTR,DWORD dwBufLen);
  145. WINBOOL WINAPI ImmGetConversionStatus(HIMC,LPDWORD,LPDWORD);
  146. WINBOOL WINAPI ImmSetConversionStatus(HIMC,DWORD,DWORD);
  147. WINBOOL WINAPI ImmGetOpenStatus(HIMC);
  148. WINBOOL WINAPI ImmSetOpenStatus(HIMC,WINBOOL);
  149. #if defined(_WINGDI_) && !defined(NOGDI)
  150. #define ImmGetCompositionFont __MINGW_NAME_AW(ImmGetCompositionFont)
  151. #define ImmSetCompositionFont __MINGW_NAME_AW(ImmSetCompositionFont)
  152. WINBOOL WINAPI ImmGetCompositionFontA(HIMC,LPLOGFONTA);
  153. WINBOOL WINAPI ImmGetCompositionFontW(HIMC,LPLOGFONTW);
  154. WINBOOL WINAPI ImmSetCompositionFontA(HIMC,LPLOGFONTA);
  155. WINBOOL WINAPI ImmSetCompositionFontW(HIMC,LPLOGFONTW);
  156. #endif
  157. typedef int (CALLBACK *REGISTERWORDENUMPROCA)(LPCSTR,DWORD,LPCSTR,LPVOID);
  158. typedef int (CALLBACK *REGISTERWORDENUMPROCW)(LPCWSTR,DWORD,LPCWSTR,LPVOID);
  159. #define REGISTERWORDENUMPROC __MINGW_NAME_AW(REGISTERWORDENUMPROC)
  160. #define ImmConfigureIME __MINGW_NAME_AW(ImmConfigureIME)
  161. #define ImmEscape __MINGW_NAME_AW(ImmEscape)
  162. #define ImmGetConversionList __MINGW_NAME_AW(ImmGetConversionList)
  163. #define ImmIsUIMessage __MINGW_NAME_AW(ImmIsUIMessage)
  164. #define ImmRegisterWord __MINGW_NAME_AW(ImmRegisterWord)
  165. #define ImmUnregisterWord __MINGW_NAME_AW(ImmUnregisterWord)
  166. #define ImmGetRegisterWordStyle __MINGW_NAME_AW(ImmGetRegisterWordStyle)
  167. #define ImmEnumRegisterWord __MINGW_NAME_AW(ImmEnumRegisterWord)
  168. #define ImmGetImeMenuItems __MINGW_NAME_AW(ImmGetImeMenuItems)
  169. WINBOOL WINAPI ImmConfigureIMEA(HKL,HWND,DWORD,LPVOID);
  170. WINBOOL WINAPI ImmConfigureIMEW(HKL,HWND,DWORD,LPVOID);
  171. LRESULT WINAPI ImmEscapeA(HKL,HIMC,UINT,LPVOID);
  172. LRESULT WINAPI ImmEscapeW(HKL,HIMC,UINT,LPVOID);
  173. DWORD WINAPI ImmGetConversionListA(HKL,HIMC,LPCSTR,LPCANDIDATELIST,DWORD dwBufLen,UINT uFlag);
  174. DWORD WINAPI ImmGetConversionListW(HKL,HIMC,LPCWSTR,LPCANDIDATELIST,DWORD dwBufLen,UINT uFlag);
  175. WINBOOL WINAPI ImmNotifyIME(HIMC,DWORD dwAction,DWORD dwIndex,DWORD dwValue);
  176. WINBOOL WINAPI ImmGetStatusWindowPos(HIMC,LPPOINT);
  177. WINBOOL WINAPI ImmSetStatusWindowPos(HIMC,LPPOINT);
  178. WINBOOL WINAPI ImmGetCompositionWindow(HIMC,LPCOMPOSITIONFORM);
  179. WINBOOL WINAPI ImmSetCompositionWindow(HIMC,LPCOMPOSITIONFORM);
  180. WINBOOL WINAPI ImmGetCandidateWindow(HIMC,DWORD,LPCANDIDATEFORM);
  181. WINBOOL WINAPI ImmSetCandidateWindow(HIMC,LPCANDIDATEFORM);
  182. WINBOOL WINAPI ImmIsUIMessageA(HWND,UINT,WPARAM,LPARAM);
  183. WINBOOL WINAPI ImmIsUIMessageW(HWND,UINT,WPARAM,LPARAM);
  184. UINT WINAPI ImmGetVirtualKey(HWND);
  185. WINBOOL WINAPI ImmRegisterWordA(HKL,LPCSTR lpszReading,DWORD,LPCSTR lpszRegister);
  186. WINBOOL WINAPI ImmRegisterWordW(HKL,LPCWSTR lpszReading,DWORD,LPCWSTR lpszRegister);
  187. WINBOOL WINAPI ImmUnregisterWordA(HKL,LPCSTR lpszReading,DWORD,LPCSTR lpszUnregister);
  188. WINBOOL WINAPI ImmUnregisterWordW(HKL,LPCWSTR lpszReading,DWORD,LPCWSTR lpszUnregister);
  189. UINT WINAPI ImmGetRegisterWordStyleA(HKL,UINT nItem,LPSTYLEBUFA);
  190. UINT WINAPI ImmGetRegisterWordStyleW(HKL,UINT nItem,LPSTYLEBUFW);
  191. UINT WINAPI ImmEnumRegisterWordA(HKL,REGISTERWORDENUMPROCA,LPCSTR lpszReading,DWORD,LPCSTR lpszRegister,LPVOID);
  192. UINT WINAPI ImmEnumRegisterWordW(HKL,REGISTERWORDENUMPROCW,LPCWSTR lpszReading,DWORD,LPCWSTR lpszRegister,LPVOID);
  193. WINBOOL WINAPI ImmDisableIME(DWORD);
  194. WINBOOL WINAPI ImmEnumInputContext(DWORD idThread,IMCENUMPROC lpfn,LPARAM lParam);
  195. DWORD WINAPI ImmGetImeMenuItemsA(HIMC,DWORD,DWORD,LPIMEMENUITEMINFOA,LPIMEMENUITEMINFOA,DWORD);
  196. DWORD WINAPI ImmGetImeMenuItemsW(HIMC,DWORD,DWORD,LPIMEMENUITEMINFOW,LPIMEMENUITEMINFOW,DWORD);
  197. WINBOOL WINAPI ImmDisableTextFrameService(DWORD idThread);
  198. #define IMC_GETCANDIDATEPOS 0x0007
  199. #define IMC_SETCANDIDATEPOS 0x0008
  200. #define IMC_GETCOMPOSITIONFONT 0x0009
  201. #define IMC_SETCOMPOSITIONFONT 0x000A
  202. #define IMC_GETCOMPOSITIONWINDOW 0x000B
  203. #define IMC_SETCOMPOSITIONWINDOW 0x000C
  204. #define IMC_GETSTATUSWINDOWPOS 0x000F
  205. #define IMC_SETSTATUSWINDOWPOS 0x0010
  206. #define IMC_CLOSESTATUSWINDOW 0x0021
  207. #define IMC_OPENSTATUSWINDOW 0x0022
  208. #define NI_OPENCANDIDATE 0x0010
  209. #define NI_CLOSECANDIDATE 0x0011
  210. #define NI_SELECTCANDIDATESTR 0x0012
  211. #define NI_CHANGECANDIDATELIST 0x0013
  212. #define NI_FINALIZECONVERSIONRESULT 0x0014
  213. #define NI_COMPOSITIONSTR 0x0015
  214. #define NI_SETCANDIDATE_PAGESTART 0x0016
  215. #define NI_SETCANDIDATE_PAGESIZE 0x0017
  216. #define NI_IMEMENUSELECTED 0x0018
  217. #define ISC_SHOWUICANDIDATEWINDOW 0x00000001
  218. #define ISC_SHOWUICOMPOSITIONWINDOW 0x80000000
  219. #define ISC_SHOWUIGUIDELINE 0x40000000
  220. #define ISC_SHOWUIALLCANDIDATEWINDOW 0x0000000F
  221. #define ISC_SHOWUIALL 0xC000000F
  222. #define CPS_COMPLETE 0x0001
  223. #define CPS_CONVERT 0x0002
  224. #define CPS_REVERT 0x0003
  225. #define CPS_CANCEL 0x0004
  226. #define MOD_ALT 0x0001
  227. #define MOD_CONTROL 0x0002
  228. #define MOD_SHIFT 0x0004
  229. #define MOD_LEFT 0x8000
  230. #define MOD_RIGHT 0x4000
  231. #define MOD_ON_KEYUP 0x0800
  232. #define MOD_IGNORE_ALL_MODIFIER 0x0400
  233. #define IME_CHOTKEY_IME_NONIME_TOGGLE 0x10
  234. #define IME_CHOTKEY_SHAPE_TOGGLE 0x11
  235. #define IME_CHOTKEY_SYMBOL_TOGGLE 0x12
  236. #define IME_JHOTKEY_CLOSE_OPEN 0x30
  237. #define IME_KHOTKEY_SHAPE_TOGGLE 0x50
  238. #define IME_KHOTKEY_HANJACONVERT 0x51
  239. #define IME_KHOTKEY_ENGLISH 0x52
  240. #define IME_THOTKEY_IME_NONIME_TOGGLE 0x70
  241. #define IME_THOTKEY_SHAPE_TOGGLE 0x71
  242. #define IME_THOTKEY_SYMBOL_TOGGLE 0x72
  243. #define IME_HOTKEY_DSWITCH_FIRST 0x100
  244. #define IME_HOTKEY_DSWITCH_LAST 0x11F
  245. #define IME_HOTKEY_PRIVATE_FIRST 0x200
  246. #define IME_ITHOTKEY_RESEND_RESULTSTR 0x200
  247. #define IME_ITHOTKEY_PREVIOUS_COMPOSITION 0x201
  248. #define IME_ITHOTKEY_UISTYLE_TOGGLE 0x202
  249. #define IME_ITHOTKEY_RECONVERTSTRING 0x203
  250. #define IME_HOTKEY_PRIVATE_LAST 0x21F
  251. #define GCS_COMPREADSTR 0x0001
  252. #define GCS_COMPREADATTR 0x0002
  253. #define GCS_COMPREADCLAUSE 0x0004
  254. #define GCS_COMPSTR 0x0008
  255. #define GCS_COMPATTR 0x0010
  256. #define GCS_COMPCLAUSE 0x0020
  257. #define GCS_CURSORPOS 0x0080
  258. #define GCS_DELTASTART 0x0100
  259. #define GCS_RESULTREADSTR 0x0200
  260. #define GCS_RESULTREADCLAUSE 0x0400
  261. #define GCS_RESULTSTR 0x0800
  262. #define GCS_RESULTCLAUSE 0x1000
  263. #define CS_INSERTCHAR 0x2000
  264. #define CS_NOMOVECARET 0x4000
  265. #define IMEVER_0310 0x0003000A
  266. #define IMEVER_0400 0x00040000
  267. #define IME_PROP_AT_CARET 0x00010000
  268. #define IME_PROP_SPECIAL_UI 0x00020000
  269. #define IME_PROP_CANDLIST_START_FROM_1 0x00040000
  270. #define IME_PROP_UNICODE 0x00080000
  271. #define IME_PROP_COMPLETE_ON_UNSELECT 0x00100000
  272. #define UI_CAP_2700 0x00000001
  273. #define UI_CAP_ROT90 0x00000002
  274. #define UI_CAP_ROTANY 0x00000004
  275. #define SCS_CAP_COMPSTR 0x00000001
  276. #define SCS_CAP_MAKEREAD 0x00000002
  277. #define SCS_CAP_SETRECONVERTSTRING 0x00000004
  278. #define SELECT_CAP_CONVERSION 0x00000001
  279. #define SELECT_CAP_SENTENCE 0x00000002
  280. #define GGL_LEVEL 0x00000001
  281. #define GGL_INDEX 0x00000002
  282. #define GGL_STRING 0x00000003
  283. #define GGL_PRIVATE 0x00000004
  284. #define GL_LEVEL_NOGUIDELINE 0x00000000
  285. #define GL_LEVEL_FATAL 0x00000001
  286. #define GL_LEVEL_ERROR 0x00000002
  287. #define GL_LEVEL_WARNING 0x00000003
  288. #define GL_LEVEL_INFORMATION 0x00000004
  289. #define GL_ID_UNKNOWN 0x00000000
  290. #define GL_ID_NOMODULE 0x00000001
  291. #define GL_ID_NODICTIONARY 0x00000010
  292. #define GL_ID_CANNOTSAVE 0x00000011
  293. #define GL_ID_NOCONVERT 0x00000020
  294. #define GL_ID_TYPINGERROR 0x00000021
  295. #define GL_ID_TOOMANYSTROKE 0x00000022
  296. #define GL_ID_READINGCONFLICT 0x00000023
  297. #define GL_ID_INPUTREADING 0x00000024
  298. #define GL_ID_INPUTRADICAL 0x00000025
  299. #define GL_ID_INPUTCODE 0x00000026
  300. #define GL_ID_INPUTSYMBOL 0x00000027
  301. #define GL_ID_CHOOSECANDIDATE 0x00000028
  302. #define GL_ID_REVERSECONVERSION 0x00000029
  303. #define GL_ID_PRIVATE_FIRST 0x00008000
  304. #define GL_ID_PRIVATE_LAST 0x0000FFFF
  305. #define IGP_GETIMEVERSION (DWORD)(-4)
  306. #define IGP_PROPERTY 0x00000004
  307. #define IGP_CONVERSION 0x00000008
  308. #define IGP_SENTENCE 0x0000000c
  309. #define IGP_UI 0x00000010
  310. #define IGP_SETCOMPSTR 0x00000014
  311. #define IGP_SELECT 0x00000018
  312. #define SCS_SETSTR (GCS_COMPREADSTR|GCS_COMPSTR)
  313. #define SCS_CHANGEATTR (GCS_COMPREADATTR|GCS_COMPATTR)
  314. #define SCS_CHANGECLAUSE (GCS_COMPREADCLAUSE|GCS_COMPCLAUSE)
  315. #define SCS_SETRECONVERTSTRING 0x00010000
  316. #define SCS_QUERYRECONVERTSTRING 0x00020000
  317. #define ATTR_INPUT 0x00
  318. #define ATTR_TARGET_CONVERTED 0x01
  319. #define ATTR_CONVERTED 0x02
  320. #define ATTR_TARGET_NOTCONVERTED 0x03
  321. #define ATTR_INPUT_ERROR 0x04
  322. #define ATTR_FIXEDCONVERTED 0x05
  323. #define CFS_DEFAULT 0x0000
  324. #define CFS_RECT 0x0001
  325. #define CFS_POINT 0x0002
  326. #define CFS_FORCE_POSITION 0x0020
  327. #define CFS_CANDIDATEPOS 0x0040
  328. #define CFS_EXCLUDE 0x0080
  329. #define GCL_CONVERSION 0x0001
  330. #define GCL_REVERSECONVERSION 0x0002
  331. #define GCL_REVERSE_LENGTH 0x0003
  332. #define IME_CMODE_ALPHANUMERIC 0x0000
  333. #define IME_CMODE_NATIVE 0x0001
  334. #define IME_CMODE_CHINESE IME_CMODE_NATIVE
  335. #define IME_CMODE_HANGEUL IME_CMODE_NATIVE
  336. #define IME_CMODE_HANGUL IME_CMODE_NATIVE
  337. #define IME_CMODE_JAPANESE IME_CMODE_NATIVE
  338. #define IME_CMODE_KATAKANA 0x0002
  339. #define IME_CMODE_LANGUAGE 0x0003
  340. #define IME_CMODE_FULLSHAPE 0x0008
  341. #define IME_CMODE_ROMAN 0x0010
  342. #define IME_CMODE_CHARCODE 0x0020
  343. #define IME_CMODE_HANJACONVERT 0x0040
  344. #define IME_CMODE_SOFTKBD 0x0080
  345. #define IME_CMODE_NOCONVERSION 0x0100
  346. #define IME_CMODE_EUDC 0x0200
  347. #define IME_CMODE_SYMBOL 0x0400
  348. #define IME_CMODE_FIXED 0x0800
  349. #define IME_CMODE_RESERVED 0xF0000000
  350. #define IME_SMODE_NONE 0x0000
  351. #define IME_SMODE_PLAURALCLAUSE 0x0001
  352. #define IME_SMODE_SINGLECONVERT 0x0002
  353. #define IME_SMODE_AUTOMATIC 0x0004
  354. #define IME_SMODE_PHRASEPREDICT 0x0008
  355. #define IME_SMODE_CONVERSATION 0x0010
  356. #define IME_SMODE_RESERVED 0x0000F000
  357. #define IME_CAND_UNKNOWN 0x0000
  358. #define IME_CAND_READ 0x0001
  359. #define IME_CAND_CODE 0x0002
  360. #define IME_CAND_MEANING 0x0003
  361. #define IME_CAND_RADICAL 0x0004
  362. #define IME_CAND_STROKE 0x0005
  363. #define IMN_CLOSESTATUSWINDOW 0x0001
  364. #define IMN_OPENSTATUSWINDOW 0x0002
  365. #define IMN_CHANGECANDIDATE 0x0003
  366. #define IMN_CLOSECANDIDATE 0x0004
  367. #define IMN_OPENCANDIDATE 0x0005
  368. #define IMN_SETCONVERSIONMODE 0x0006
  369. #define IMN_SETSENTENCEMODE 0x0007
  370. #define IMN_SETOPENSTATUS 0x0008
  371. #define IMN_SETCANDIDATEPOS 0x0009
  372. #define IMN_SETCOMPOSITIONFONT 0x000A
  373. #define IMN_SETCOMPOSITIONWINDOW 0x000B
  374. #define IMN_SETSTATUSWINDOWPOS 0x000C
  375. #define IMN_GUIDELINE 0x000D
  376. #define IMN_PRIVATE 0x000E
  377. #define IMR_COMPOSITIONWINDOW 0x0001
  378. #define IMR_CANDIDATEWINDOW 0x0002
  379. #define IMR_COMPOSITIONFONT 0x0003
  380. #define IMR_RECONVERTSTRING 0x0004
  381. #define IMR_CONFIRMRECONVERTSTRING 0x0005
  382. #define IMR_QUERYCHARPOSITION 0x0006
  383. #define IMR_DOCUMENTFEED 0x0007
  384. #define IMM_ERROR_NODATA (-1)
  385. #define IMM_ERROR_GENERAL (-2)
  386. #define IME_CONFIG_GENERAL 1
  387. #define IME_CONFIG_REGISTERWORD 2
  388. #define IME_CONFIG_SELECTDICTIONARY 3
  389. #define IME_ESC_QUERY_SUPPORT 0x0003
  390. #define IME_ESC_RESERVED_FIRST 0x0004
  391. #define IME_ESC_RESERVED_LAST 0x07FF
  392. #define IME_ESC_PRIVATE_FIRST 0x0800
  393. #define IME_ESC_PRIVATE_LAST 0x0FFF
  394. #define IME_ESC_SEQUENCE_TO_INTERNAL 0x1001
  395. #define IME_ESC_GET_EUDC_DICTIONARY 0x1003
  396. #define IME_ESC_SET_EUDC_DICTIONARY 0x1004
  397. #define IME_ESC_MAX_KEY 0x1005
  398. #define IME_ESC_IME_NAME 0x1006
  399. #define IME_ESC_SYNC_HOTKEY 0x1007
  400. #define IME_ESC_HANJA_MODE 0x1008
  401. #define IME_ESC_AUTOMATA 0x1009
  402. #define IME_ESC_PRIVATE_HOTKEY 0x100a
  403. #define IME_ESC_GETHELPFILENAME 0x100b
  404. #define IME_REGWORD_STYLE_EUDC 0x00000001
  405. #define IME_REGWORD_STYLE_USER_FIRST 0x80000000
  406. #define IME_REGWORD_STYLE_USER_LAST 0xFFFFFFFF
  407. #define IACE_CHILDREN 0x0001
  408. #define IACE_DEFAULT 0x0010
  409. #define IACE_IGNORENOCONTEXT 0x0020
  410. #define IGIMIF_RIGHTMENU 0x0001
  411. #define IGIMII_CMODE 0x0001
  412. #define IGIMII_SMODE 0x0002
  413. #define IGIMII_CONFIGURE 0x0004
  414. #define IGIMII_TOOLS 0x0008
  415. #define IGIMII_HELP 0x0010
  416. #define IGIMII_OTHER 0x0020
  417. #define IGIMII_INPUTTOOLS 0x0040
  418. #define IMFT_RADIOCHECK 0x00001
  419. #define IMFT_SEPARATOR 0x00002
  420. #define IMFT_SUBMENU 0x00004
  421. #define IMFS_GRAYED MFS_GRAYED
  422. #define IMFS_DISABLED MFS_DISABLED
  423. #define IMFS_CHECKED MFS_CHECKED
  424. #define IMFS_HILITE MFS_HILITE
  425. #define IMFS_ENABLED MFS_ENABLED
  426. #define IMFS_UNCHECKED MFS_UNCHECKED
  427. #define IMFS_UNHILITE MFS_UNHILITE
  428. #define IMFS_DEFAULT MFS_DEFAULT
  429. #define SOFTKEYBOARD_TYPE_T1 0x0001
  430. #define SOFTKEYBOARD_TYPE_C1 0x0002
  431. #endif
  432. #ifdef __cplusplus
  433. }
  434. #endif
  435. #endif