1 module win32.ansi.imm;
2
3 // Translated from Microsoft Platform SDK August 2001 Edition
4 // by Y.Tomino (demoonlit@inter7.jp)
5
6 import win32.ansi.winuser;
7
8 // #ifndef _IMM_
9 // #define _IMM_
10
11 // #ifdef __cplusplus
12 // extern "C" {
13 // #endif
14
15 // #ifndef _IMM_SDK_DEFINED_
16 // #define _IMM_SDK_DEFINED_
17
18 // #if (WINVER >= 0x040A)
19 alias void* HIMC;
20 alias void* HIMCC;
21 // #else
22 // ...
23 // #endif /* WINVER >= 0x040A */
24
25 alias HKL* LPHKL;
26 alias UINT* LPUINT;
27
28 struct tagCOMPOSITIONFORM {
29 DWORD dwStyle;
30 POINT ptCurrentPos;
31 RECT rcArea;
32 }
33 alias tagCOMPOSITIONFORM COMPOSITIONFORM;
34 alias tagCOMPOSITIONFORM* PCOMPOSITIONFORM;
35 alias tagCOMPOSITIONFORM* NPCOMPOSITIONFORM;
36 alias tagCOMPOSITIONFORM* LPCOMPOSITIONFORM;
37
38 struct tagCANDIDATEFORM {
39 DWORD dwIndex;
40 DWORD dwStyle;
41 POINT ptCurrentPos;
42 RECT rcArea;
43 }
44 alias tagCANDIDATEFORM CANDIDATEFORM;
45 alias tagCANDIDATEFORM* PCANDIDATEFORM;
46 alias tagCANDIDATEFORM* NPCANDIDATEFORM;
47 alias tagCANDIDATEFORM* LPCANDIDATEFORM;
48
49 struct tagCANDIDATELIST {
50 DWORD dwSize;
51 DWORD dwStyle;
52 DWORD dwCount;
53 DWORD dwSelection;
54 DWORD dwPageStart;
55 DWORD dwPageSize;
56 DWORD dwOffset[1];
57 }
58 alias tagCANDIDATELIST CANDIDATELIST;
59 alias tagCANDIDATELIST* PCANDIDATELIST;
60 alias tagCANDIDATELIST* NPCANDIDATELIST;
61 alias tagCANDIDATELIST* LPCANDIDATELIST;
62
63 struct tagREGISTERWORDA {
64 LPSTR lpReading;
65 LPSTR lpWord;
66 }
67 alias tagREGISTERWORDA REGISTERWORDA;
68 alias tagREGISTERWORDA* PREGISTERWORDA;
69 alias tagREGISTERWORDA* NPREGISTERWORDA;
70 alias tagREGISTERWORDA* LPREGISTERWORDA;
71
72 struct tagREGISTERWORDW {
73 LPWSTR lpReading;
74 LPWSTR lpWord;
75 }
76 alias tagREGISTERWORDW REGISTERWORDW;
77 alias tagREGISTERWORDW* PREGISTERWORDW;
78 alias tagREGISTERWORDW* NPREGISTERWORDW;
79 alias tagREGISTERWORDW* LPREGISTERWORDW;
80
81 // #ifdef UNICODE
82 // ...
83 // #else
84 alias REGISTERWORDA REGISTERWORD;
85 alias PREGISTERWORDA PREGISTERWORD;
86 alias NPREGISTERWORDA NPREGISTERWORD;
87 alias LPREGISTERWORDA LPREGISTERWORD;
88 // #endif // UNICODE
89
90 // #if (WINVER >= 0x040A)
91
92 struct tagRECONVERTSTRING {
93 DWORD dwSize;
94 DWORD dwVersion;
95 DWORD dwStrLen;
96 DWORD dwStrOffset;
97 DWORD dwCompStrLen;
98 DWORD dwCompStrOffset;
99 DWORD dwTargetStrLen;
100 DWORD dwTargetStrOffset;
101 }
102 alias tagRECONVERTSTRING RECONVERTSTRING;
103 alias tagRECONVERTSTRING* PRECONVERTSTRING;
104 alias tagRECONVERTSTRING* NPRECONVERTSTRING;
105 alias tagRECONVERTSTRING* LPRECONVERTSTRING;
106
107 // #endif /* WINVER >= 0x040A */
108
109 enum : uint { STYLE_DESCRIPTION_SIZE = 32 }
110
111 struct tagSTYLEBUFA {
112 DWORD dwStyle;
113 CHAR szDescription[STYLE_DESCRIPTION_SIZE];
114 }
115 alias tagSTYLEBUFA STYLEBUFA;
116 alias tagSTYLEBUFA* PSTYLEBUFA;
117 alias tagSTYLEBUFA* NPSTYLEBUFA;
118 alias tagSTYLEBUFA* LPSTYLEBUFA;
119
120 struct tagSTYLEBUFW {
121 DWORD dwStyle;
122 WCHAR szDescription[STYLE_DESCRIPTION_SIZE];
123 }
124 alias tagSTYLEBUFW STYLEBUFW;
125 alias tagSTYLEBUFW* PSTYLEBUFW;
126 alias tagSTYLEBUFW* NPSTYLEBUFW;
127 alias tagSTYLEBUFW* LPSTYLEBUFW;
128
129 // #ifdef UNICODE
130 // ...
131 // #else
132 alias STYLEBUFA STYLEBUF;
133 alias PSTYLEBUFA PSTYLEBUF;
134 alias NPSTYLEBUFA NPSTYLEBUF;
135 alias LPSTYLEBUFA LPSTYLEBUF;
136 // #endif // UNICODE
137
138 // #if (WINVER >= 0x040A)
139
140 enum : uint { IMEMENUITEM_STRING_SIZE = 80 }
141
142 struct tagIMEMENUITEMINFOA {
143 UINT cbSize;
144 UINT fType;
145 UINT fState;
146 UINT wID;
147 HBITMAP hbmpChecked;
148 HBITMAP hbmpUnchecked;
149 DWORD dwItemData;
150 CHAR szString[IMEMENUITEM_STRING_SIZE];
151 HBITMAP hbmpItem;
152 }
153 alias tagIMEMENUITEMINFOA IMEMENUITEMINFOA;
154 alias tagIMEMENUITEMINFOA* PIMEMENUITEMINFOA;
155 alias tagIMEMENUITEMINFOA* NPIMEMENUITEMINFOA;
156 alias tagIMEMENUITEMINFOA* LPIMEMENUITEMINFOA;
157
158 struct tagIMEMENUITEMINFOW {
159 UINT cbSize;
160 UINT fType;
161 UINT fState;
162 UINT wID;
163 HBITMAP hbmpChecked;
164 HBITMAP hbmpUnchecked;
165 DWORD dwItemData;
166 WCHAR szString[IMEMENUITEM_STRING_SIZE];
167 HBITMAP hbmpItem;
168 }
169 alias tagIMEMENUITEMINFOW IMEMENUITEMINFOW;
170 alias tagIMEMENUITEMINFOW* PIMEMENUITEMINFOW;
171 alias tagIMEMENUITEMINFOW* NPIMEMENUITEMINFOW;
172 alias tagIMEMENUITEMINFOW* LPIMEMENUITEMINFOW;
173
174 // #ifdef UNICODE
175 // ...
176 // #else
177 alias IMEMENUITEMINFOA IMEMENUITEMINFO;
178 alias PIMEMENUITEMINFOA PIMEMENUITEMINFO;
179 alias NPIMEMENUITEMINFOA NPIMEMENUITEMINFO;
180 alias LPIMEMENUITEMINFOA LPIMEMENUITEMINFO;
181 // #endif // UNICODE
182
183 struct tagIMECHARPOSITION {
184 DWORD dwSize;
185 DWORD dwCharPos;
186 POINT pt;
187 UINT cLineHeight;
188 RECT rcDocument;
189 }
190 alias tagIMECHARPOSITION IMECHARPOSITION;
191 alias tagIMECHARPOSITION* PIMECHARPOSITION;
192 alias tagIMECHARPOSITION* NPIMECHARPOSITION;
193 alias tagIMECHARPOSITION* LPIMECHARPOSITION;
194
195 extern(Windows) alias BOOL function(HIMC, LPARAM) IMCENUMPROC;
196
197 // #endif /* WINVER >= 0x040A */
198
199 extern(Windows) export HKL ImmInstallIMEA( LPCSTR lpszIMEFileName, LPCSTR lpszLayoutText);
200 extern(Windows) export HKL ImmInstallIMEW( LPCWSTR lpszIMEFileName, LPCWSTR lpszLayoutText);
201 // #ifdef UNICODE
202 // #...
203 // #else
204 alias ImmInstallIMEA ImmInstallIME;
205 // #endif // !UNICODE
206
207 extern(Windows) export HWND ImmGetDefaultIMEWnd( HWND);
208
209 extern(Windows) export UINT ImmGetDescriptionA( HKL, LPSTR, UINT uBufLen);
210 extern(Windows) export UINT ImmGetDescriptionW( HKL, LPWSTR, UINT uBufLen);
211 // #ifdef UNICODE
212 // #...
213 // #else
214 alias ImmGetDescriptionA ImmGetDescription;
215 // #endif // !UNICODE
216
217 extern(Windows) export UINT ImmGetIMEFileNameA( HKL, LPSTR, UINT uBufLen);
218 extern(Windows) export UINT ImmGetIMEFileNameW( HKL, LPWSTR, UINT uBufLen);
219 // #ifdef UNICODE
220 // #...
221 // #else
222 alias ImmGetIMEFileNameA ImmGetIMEFileName;
223 // #endif // !UNICODE
224
225 extern(Windows) export DWORD ImmGetProperty( HKL, DWORD);
226
227 extern(Windows) export BOOL ImmIsIME( HKL);
228
229 extern(Windows) export BOOL ImmSimulateHotKey( HWND, DWORD);
230
231 extern(Windows) export HIMC ImmCreateContext();
232 extern(Windows) export BOOL ImmDestroyContext( HIMC);
233 extern(Windows) export HIMC ImmGetContext( HWND);
234 extern(Windows) export BOOL ImmReleaseContext( HWND, HIMC);
235 extern(Windows) export HIMC ImmAssociateContext( HWND, HIMC);
236 // #if (WINVER >= 0x040A)
237 extern(Windows) export BOOL ImmAssociateContextEx( HWND, HIMC, DWORD);
238 // #endif /* WINVER >= 0x040A */
239
240 extern(Windows) export LONG ImmGetCompositionStringA( HIMC, DWORD, LPVOID, DWORD);
241 extern(Windows) export LONG ImmGetCompositionStringW( HIMC, DWORD, LPVOID, DWORD);
242 // #ifdef UNICODE
243 // #...
244 // #else
245 alias ImmGetCompositionStringA ImmGetCompositionString;
246 // #endif // !UNICODE
247
248 extern(Windows) export BOOL ImmSetCompositionStringA( HIMC, DWORD dwIndex, LPVOID lpComp, DWORD, LPVOID lpRead, DWORD);
249 extern(Windows) export BOOL ImmSetCompositionStringW( HIMC, DWORD dwIndex, LPVOID lpComp, DWORD, LPVOID lpRead, DWORD);
250 // #ifdef UNICODE
251 // #...
252 // #else
253 alias ImmSetCompositionStringA ImmSetCompositionString;
254 // #endif // !UNICODE
255
256 extern(Windows) export DWORD ImmGetCandidateListCountA( HIMC, LPDWORD lpdwListCount);
257 extern(Windows) export DWORD ImmGetCandidateListCountW( HIMC, LPDWORD lpdwListCount);
258 // #ifdef UNICODE
259 // #...
260 // #else
261 alias ImmGetCandidateListCountA ImmGetCandidateListCount;
262 // #endif // !UNICODE
263
264 extern(Windows) export DWORD ImmGetCandidateListA( HIMC, DWORD deIndex, LPCANDIDATELIST, DWORD dwBufLen);
265 extern(Windows) export DWORD ImmGetCandidateListW( HIMC, DWORD deIndex, LPCANDIDATELIST, DWORD dwBufLen);
266 // #ifdef UNICODE
267 // #...
268 // #else
269 alias ImmGetCandidateListA ImmGetCandidateList;
270 // #endif // !UNICODE
271
272 extern(Windows) export DWORD ImmGetGuideLineA( HIMC, DWORD dwIndex, LPSTR, DWORD dwBufLen);
273 extern(Windows) export DWORD ImmGetGuideLineW( HIMC, DWORD dwIndex, LPWSTR, DWORD dwBufLen);
274 // #ifdef UNICODE
275 // #...
276 // #else
277 alias ImmGetGuideLineA ImmGetGuideLine;
278 // #endif // !UNICODE
279
280 extern(Windows) export BOOL ImmGetConversionStatus( HIMC, LPDWORD, LPDWORD);
281 extern(Windows) export BOOL ImmSetConversionStatus( HIMC, DWORD, DWORD);
282 extern(Windows) export BOOL ImmGetOpenStatus( HIMC);
283 extern(Windows) export BOOL ImmSetOpenStatus( HIMC, BOOL);
284
285 // #if defined(_WINGDI_) && !defined(NOGDI)
286 // ...
287 // #ifdef UNICODE
288 // #...
289 // #else
290 // #...
291 // #endif // !UNICODE
292
293 // ...
294 // #ifdef UNICODE
295 // #...
296 // #else
297 // #...
298 // #endif // !UNICODE
299 // #endif // defined(_WINGDI_) && !defined(NOGDI)
300
301 extern(Windows) export BOOL ImmConfigureIMEA( HKL, HWND, DWORD, LPVOID);
302 extern(Windows) export BOOL ImmConfigureIMEW( HKL, HWND, DWORD, LPVOID);
303 // #ifdef UNICODE
304 // #...
305 // #else
306 alias ImmConfigureIMEA ImmConfigureIME;
307 // #endif // !UNICODE
308
309 extern(Windows) export LRESULT ImmEscapeA( HKL, HIMC, UINT, LPVOID);
310 extern(Windows) export LRESULT ImmEscapeW( HKL, HIMC, UINT, LPVOID);
311 // #ifdef UNICODE
312 // #...
313 // #else
314 alias ImmEscapeA ImmEscape;
315 // #endif // !UNICODE
316
317 extern(Windows) export DWORD ImmGetConversionListA( HKL, HIMC, LPCSTR, LPCANDIDATELIST, DWORD dwBufLen, UINT uFlag);
318 extern(Windows) export DWORD ImmGetConversionListW( HKL, HIMC, LPCWSTR, LPCANDIDATELIST, DWORD dwBufLen, UINT uFlag);
319 // #ifdef UNICODE
320 // #...
321 // #else
322 alias ImmGetConversionListA ImmGetConversionList;
323 // #endif // !UNICODE
324
325 extern(Windows) export BOOL ImmNotifyIME( HIMC, DWORD dwAction, DWORD dwIndex, DWORD dwValue);
326
327 extern(Windows) export BOOL ImmGetStatusWindowPos( HIMC, LPPOINT);
328 extern(Windows) export BOOL ImmSetStatusWindowPos( HIMC, LPPOINT);
329 extern(Windows) export BOOL ImmGetCompositionWindow( HIMC, LPCOMPOSITIONFORM);
330 extern(Windows) export BOOL ImmSetCompositionWindow( HIMC, LPCOMPOSITIONFORM);
331 extern(Windows) export BOOL ImmGetCandidateWindow( HIMC, DWORD, LPCANDIDATEFORM);
332 extern(Windows) export BOOL ImmSetCandidateWindow( HIMC, LPCANDIDATEFORM);
333
334 extern(Windows) export BOOL ImmIsUIMessageA( HWND, UINT, WPARAM, LPARAM);
335 extern(Windows) export BOOL ImmIsUIMessageW( HWND, UINT, WPARAM, LPARAM);
336 // #ifdef UNICODE
337 // #...
338 // #else
339 alias ImmIsUIMessageA ImmIsUIMessage;
340 // #endif // !UNICODE
341
342 extern(Windows) export UINT ImmGetVirtualKey( HWND);
343
344 extern(Windows) alias int function(LPCSTR, DWORD, LPCSTR, LPVOID) REGISTERWORDENUMPROCA;
345 extern(Windows) alias int function(LPCWSTR, DWORD, LPCWSTR, LPVOID) REGISTERWORDENUMPROCW;
346 // #ifdef UNICODE
347 // #...
348 // #else
349 alias REGISTERWORDENUMPROCA REGISTERWORDENUMPROC;
350 // #endif // !UNICODE
351
352 extern(Windows) export BOOL ImmRegisterWordA( HKL, LPCSTR lpszReading, DWORD, LPCSTR lpszRegister);
353 extern(Windows) export BOOL ImmRegisterWordW( HKL, LPCWSTR lpszReading, DWORD, LPCWSTR lpszRegister);
354 // #ifdef UNICODE
355 // #...
356 // #else
357 alias ImmRegisterWordA ImmRegisterWord;
358 // #endif // !UNICODE
359
360 extern(Windows) export BOOL ImmUnregisterWordA( HKL, LPCSTR lpszReading, DWORD, LPCSTR lpszUnregister);
361 extern(Windows) export BOOL ImmUnregisterWordW( HKL, LPCWSTR lpszReading, DWORD, LPCWSTR lpszUnregister);
362 // #ifdef UNICODE
363 // #...
364 // #else
365 alias ImmUnregisterWordA ImmUnregisterWord;
366 // #endif // !UNICODE
367
368 extern(Windows) export UINT ImmGetRegisterWordStyleA( HKL, UINT nItem, LPSTYLEBUFA);
369 extern(Windows) export UINT ImmGetRegisterWordStyleW( HKL, UINT nItem, LPSTYLEBUFW);
370 // #ifdef UNICODE
371 // #...
372 // #else
373 alias ImmGetRegisterWordStyleA ImmGetRegisterWordStyle;
374 // #endif // !UNICODE
375
376 extern(Windows) export UINT ImmEnumRegisterWordA( HKL, REGISTERWORDENUMPROCA, LPCSTR lpszReading, DWORD, LPCSTR lpszRegister, LPVOID);
377 extern(Windows) export UINT ImmEnumRegisterWordW( HKL, REGISTERWORDENUMPROCW, LPCWSTR lpszReading, DWORD, LPCWSTR lpszRegister, LPVOID);
378 // #ifdef UNICODE
379 // #...
380 // #else
381 alias ImmEnumRegisterWordA ImmEnumRegisterWord;
382 // #endif // !UNICODE
383
384 // #if (WINVER >= 0x040A)
385 extern(Windows) export BOOL ImmDisableIME( DWORD);
386 extern(Windows) export BOOL ImmEnumInputContext(DWORD idThread, IMCENUMPROC lpfn, LPARAM lParam);
387 extern(Windows) export DWORD ImmGetImeMenuItemsA( HIMC, DWORD, DWORD, LPIMEMENUITEMINFOA, LPIMEMENUITEMINFOA, DWORD);
388 extern(Windows) export DWORD ImmGetImeMenuItemsW( HIMC, DWORD, DWORD, LPIMEMENUITEMINFOW, LPIMEMENUITEMINFOW, DWORD);
389 // #ifdef UNICODE
390 // #...
391 // #else
392 alias ImmGetImeMenuItemsA ImmGetImeMenuItems;
393 // #endif // !UNICODE
394 // #endif /* WINVER >= 0x040A */
395
396 enum : uint { IMC_GETCANDIDATEPOS = 0x0007 }
397 enum : uint { IMC_SETCANDIDATEPOS = 0x0008 }
398 enum : uint { IMC_GETCOMPOSITIONFONT = 0x0009 }
399 enum : uint { IMC_SETCOMPOSITIONFONT = 0x000A }
400 enum : uint { IMC_GETCOMPOSITIONWINDOW = 0x000B }
401 enum : uint { IMC_SETCOMPOSITIONWINDOW = 0x000C }
402 enum : uint { IMC_GETSTATUSWINDOWPOS = 0x000F }
403 enum : uint { IMC_SETSTATUSWINDOWPOS = 0x0010 }
404 enum : uint { IMC_CLOSESTATUSWINDOW = 0x0021 }
405 enum : uint { IMC_OPENSTATUSWINDOW = 0x0022 }
406
407 enum : uint { NI_OPENCANDIDATE = 0x0010 }
408 enum : uint { NI_CLOSECANDIDATE = 0x0011 }
409 enum : uint { NI_SELECTCANDIDATESTR = 0x0012 }
410 enum : uint { NI_CHANGECANDIDATELIST = 0x0013 }
411 enum : uint { NI_FINALIZECONVERSIONRESULT = 0x0014 }
412 enum : uint { NI_COMPOSITIONSTR = 0x0015 }
413 enum : uint { NI_SETCANDIDATE_PAGESTART = 0x0016 }
414 enum : uint { NI_SETCANDIDATE_PAGESIZE = 0x0017 }
415 enum : uint { NI_IMEMENUSELECTED = 0x0018 }
416
417 enum : uint { ISC_SHOWUICANDIDATEWINDOW = 0x00000001 }
418 enum : uint { ISC_SHOWUICOMPOSITIONWINDOW = 0x80000000 }
419 enum : uint { ISC_SHOWUIGUIDELINE = 0x40000000 }
420 enum : uint { ISC_SHOWUIALLCANDIDATEWINDOW = 0x0000000F }
421 enum : uint { ISC_SHOWUIALL = 0xC000000F }
422
423 enum : uint { CPS_COMPLETE = 0x0001 }
424 enum : uint { CPS_CONVERT = 0x0002 }
425 enum : uint { CPS_REVERT = 0x0003 }
426 enum : uint { CPS_CANCEL = 0x0004 }
427
428 enum : uint { MOD_ALT = 0x0001 }
429 enum : uint { MOD_CONTROL = 0x0002 }
430 enum : uint { MOD_SHIFT = 0x0004 }
431
432 enum : uint { MOD_LEFT = 0x8000 }
433 enum : uint { MOD_RIGHT = 0x4000 }
434
435 enum : uint { MOD_ON_KEYUP = 0x0800 }
436 enum : uint { MOD_IGNORE_ALL_MODIFIER = 0x0400 }
437
438 enum : uint { IME_CHOTKEY_IME_NONIME_TOGGLE = 0x10 }
439 enum : uint { IME_CHOTKEY_SHAPE_TOGGLE = 0x11 }
440 enum : uint { IME_CHOTKEY_SYMBOL_TOGGLE = 0x12 }
441
442 enum : uint { IME_JHOTKEY_CLOSE_OPEN = 0x30 }
443
444 enum : uint { IME_KHOTKEY_SHAPE_TOGGLE = 0x50 }
445 enum : uint { IME_KHOTKEY_HANJACONVERT = 0x51 }
446 enum : uint { IME_KHOTKEY_ENGLISH = 0x52 }
447
448 enum : uint { IME_THOTKEY_IME_NONIME_TOGGLE = 0x70 }
449 enum : uint { IME_THOTKEY_SHAPE_TOGGLE = 0x71 }
450 enum : uint { IME_THOTKEY_SYMBOL_TOGGLE = 0x72 }
451
452 enum : uint { IME_HOTKEY_DSWITCH_FIRST = 0x100 }
453 enum : uint { IME_HOTKEY_DSWITCH_LAST = 0x11F }
454
455 enum : uint { IME_HOTKEY_PRIVATE_FIRST = 0x200 }
456 enum : uint { IME_ITHOTKEY_RESEND_RESULTSTR = 0x200 }
457 enum : uint { IME_ITHOTKEY_PREVIOUS_COMPOSITION = 0x201 }
458 enum : uint { IME_ITHOTKEY_UISTYLE_TOGGLE = 0x202 }
459 enum : uint { IME_ITHOTKEY_RECONVERTSTRING = 0x203 }
460 enum : uint { IME_HOTKEY_PRIVATE_LAST = 0x21F }
461
462 enum : uint { GCS_COMPREADSTR = 0x0001 }
463 enum : uint { GCS_COMPREADATTR = 0x0002 }
464 enum : uint { GCS_COMPREADCLAUSE = 0x0004 }
465 enum : uint { GCS_COMPSTR = 0x0008 }
466 enum : uint { GCS_COMPATTR = 0x0010 }
467 enum : uint { GCS_COMPCLAUSE = 0x0020 }
468 enum : uint { GCS_CURSORPOS = 0x0080 }
469 enum : uint { GCS_DELTASTART = 0x0100 }
470 enum : uint { GCS_RESULTREADSTR = 0x0200 }
471 enum : uint { GCS_RESULTREADCLAUSE = 0x0400 }
472 enum : uint { GCS_RESULTSTR = 0x0800 }
473 enum : uint { GCS_RESULTCLAUSE = 0x1000 }
474
475 enum : uint { CS_INSERTCHAR = 0x2000 }
476 enum : uint { CS_NOMOVECARET = 0x4000 }
477
478 enum : uint { IMEVER_0310 = 0x0003000A }
479 enum : uint { IMEVER_0400 = 0x00040000 }
480
481 enum : uint { IME_PROP_AT_CARET = 0x00010000 }
482 enum : uint { IME_PROP_SPECIAL_UI = 0x00020000 }
483 enum : uint { IME_PROP_CANDLIST_START_FROM_1 = 0x00040000 }
484 enum : uint { IME_PROP_UNICODE = 0x00080000 }
485 enum : uint { IME_PROP_COMPLETE_ON_UNSELECT = 0x00100000 }
486
487 enum : uint { UI_CAP_2700 = 0x00000001 }
488 enum : uint { UI_CAP_ROT90 = 0x00000002 }
489 enum : uint { UI_CAP_ROTANY = 0x00000004 }
490
491 enum : uint { SCS_CAP_COMPSTR = 0x00000001 }
492 enum : uint { SCS_CAP_MAKEREAD = 0x00000002 }
493 enum : uint { SCS_CAP_SETRECONVERTSTRING = 0x00000004 }
494
495 enum : uint { SELECT_CAP_CONVERSION = 0x00000001 }
496 enum : uint { SELECT_CAP_SENTENCE = 0x00000002 }
497
498 enum : uint { GGL_LEVEL = 0x00000001 }
499 enum : uint { GGL_INDEX = 0x00000002 }
500 enum : uint { GGL_STRING = 0x00000003 }
501 enum : uint { GGL_PRIVATE = 0x00000004 }
502
503 enum : uint { GL_LEVEL_NOGUIDELINE = 0x00000000 }
504 enum : uint { GL_LEVEL_FATAL = 0x00000001 }
505 enum : uint { GL_LEVEL_ERROR = 0x00000002 }
506 enum : uint { GL_LEVEL_WARNING = 0x00000003 }
507 enum : uint { GL_LEVEL_INFORMATION = 0x00000004 }
508
509 enum : uint { GL_ID_UNKNOWN = 0x00000000 }
510 enum : uint { GL_ID_NOMODULE = 0x00000001 }
511 enum : uint { GL_ID_NODICTIONARY = 0x00000010 }
512 enum : uint { GL_ID_CANNOTSAVE = 0x00000011 }
513 enum : uint { GL_ID_NOCONVERT = 0x00000020 }
514 enum : uint { GL_ID_TYPINGERROR = 0x00000021 }
515 enum : uint { GL_ID_TOOMANYSTROKE = 0x00000022 }
516 enum : uint { GL_ID_READINGCONFLICT = 0x00000023 }
517 enum : uint { GL_ID_INPUTREADING = 0x00000024 }
518 enum : uint { GL_ID_INPUTRADICAL = 0x00000025 }
519 enum : uint { GL_ID_INPUTCODE = 0x00000026 }
520 enum : uint { GL_ID_INPUTSYMBOL = 0x00000027 }
521 enum : uint { GL_ID_CHOOSECANDIDATE = 0x00000028 }
522 enum : uint { GL_ID_REVERSECONVERSION = 0x00000029 }
523 enum : uint { GL_ID_PRIVATE_FIRST = 0x00008000 }
524 enum : uint { GL_ID_PRIVATE_LAST = 0x0000FFFF }
525
526 enum : DWORD { IGP_GETIMEVERSION = cast(DWORD)-4 }
527 enum : uint { IGP_PROPERTY = 0x00000004 }
528 enum : uint { IGP_CONVERSION = 0x00000008 }
529 enum : uint { IGP_SENTENCE = 0x0000000c }
530 enum : uint { IGP_UI = 0x00000010 }
531 enum : uint { IGP_SETCOMPSTR = 0x00000014 }
532 enum : uint { IGP_SELECT = 0x00000018 }
533
534 enum : uint { SCS_SETSTR = GCS_COMPREADSTR|GCS_COMPSTR }
535 enum : uint { SCS_CHANGEATTR = GCS_COMPREADATTR|GCS_COMPATTR }
536 enum : uint { SCS_CHANGECLAUSE = GCS_COMPREADCLAUSE|GCS_COMPCLAUSE }
537 enum : uint { SCS_SETRECONVERTSTRING = 0x00010000 }
538 enum : uint { SCS_QUERYRECONVERTSTRING = 0x00020000 }
539
540 enum : uint { ATTR_INPUT = 0x00 }
541 enum : uint { ATTR_TARGET_CONVERTED = 0x01 }
542 enum : uint { ATTR_CONVERTED = 0x02 }
543 enum : uint { ATTR_TARGET_NOTCONVERTED = 0x03 }
544 enum : uint { ATTR_INPUT_ERROR = 0x04 }
545 enum : uint { ATTR_FIXEDCONVERTED = 0x05 }
546
547 enum : uint { CFS_DEFAULT = 0x0000 }
548 enum : uint { CFS_RECT = 0x0001 }
549 enum : uint { CFS_POINT = 0x0002 }
550 enum : uint { CFS_FORCE_POSITION = 0x0020 }
551 enum : uint { CFS_CANDIDATEPOS = 0x0040 }
552 enum : uint { CFS_EXCLUDE = 0x0080 }
553
554 enum : uint { GCL_CONVERSION = 0x0001 }
555 enum : uint { GCL_REVERSECONVERSION = 0x0002 }
556 enum : uint { GCL_REVERSE_LENGTH = 0x0003 }
557
558 enum : uint { IME_CMODE_ALPHANUMERIC = 0x0000 }
559 enum : uint { IME_CMODE_NATIVE = 0x0001 }
560 alias IME_CMODE_NATIVE IME_CMODE_CHINESE;
561
562 alias IME_CMODE_NATIVE IME_CMODE_HANGEUL;
563 alias IME_CMODE_NATIVE IME_CMODE_HANGUL;
564 alias IME_CMODE_NATIVE IME_CMODE_JAPANESE;
565 enum : uint { IME_CMODE_KATAKANA = 0x0002 }
566 enum : uint { IME_CMODE_LANGUAGE = 0x0003 }
567 enum : uint { IME_CMODE_FULLSHAPE = 0x0008 }
568 enum : uint { IME_CMODE_ROMAN = 0x0010 }
569 enum : uint { IME_CMODE_CHARCODE = 0x0020 }
570 enum : uint { IME_CMODE_HANJACONVERT = 0x0040 }
571 enum : uint { IME_CMODE_SOFTKBD = 0x0080 }
572 enum : uint { IME_CMODE_NOCONVERSION = 0x0100 }
573 enum : uint { IME_CMODE_EUDC = 0x0200 }
574 enum : uint { IME_CMODE_SYMBOL = 0x0400 }
575 enum : uint { IME_CMODE_FIXED = 0x0800 }
576
577 enum : uint { IME_SMODE_NONE = 0x0000 }
578 enum : uint { IME_SMODE_PLAURALCLAUSE = 0x0001 }
579 enum : uint { IME_SMODE_SINGLECONVERT = 0x0002 }
580 enum : uint { IME_SMODE_AUTOMATIC = 0x0004 }
581 enum : uint { IME_SMODE_PHRASEPREDICT = 0x0008 }
582 enum : uint { IME_SMODE_CONVERSATION = 0x0010 }
583
584 enum : uint { IME_CAND_UNKNOWN = 0x0000 }
585 enum : uint { IME_CAND_READ = 0x0001 }
586 enum : uint { IME_CAND_CODE = 0x0002 }
587 enum : uint { IME_CAND_MEANING = 0x0003 }
588 enum : uint { IME_CAND_RADICAL = 0x0004 }
589 enum : uint { IME_CAND_STROKE = 0x0005 }
590
591 enum : uint { IMN_CLOSESTATUSWINDOW = 0x0001 }
592 enum : uint { IMN_OPENSTATUSWINDOW = 0x0002 }
593 enum : uint { IMN_CHANGECANDIDATE = 0x0003 }
594 enum : uint { IMN_CLOSECANDIDATE = 0x0004 }
595 enum : uint { IMN_OPENCANDIDATE = 0x0005 }
596 enum : uint { IMN_SETCONVERSIONMODE = 0x0006 }
597 enum : uint { IMN_SETSENTENCEMODE = 0x0007 }
598 enum : uint { IMN_SETOPENSTATUS = 0x0008 }
599 enum : uint { IMN_SETCANDIDATEPOS = 0x0009 }
600 enum : uint { IMN_SETCOMPOSITIONFONT = 0x000A }
601 enum : uint { IMN_SETCOMPOSITIONWINDOW = 0x000B }
602 enum : uint { IMN_SETSTATUSWINDOWPOS = 0x000C }
603 enum : uint { IMN_GUIDELINE = 0x000D }
604 enum : uint { IMN_PRIVATE = 0x000E }
605
606 // #if (WINVER >= 0x040A)
607
608 enum : uint { IMR_COMPOSITIONWINDOW = 0x0001 }
609 enum : uint { IMR_CANDIDATEWINDOW = 0x0002 }
610 enum : uint { IMR_COMPOSITIONFONT = 0x0003 }
611 enum : uint { IMR_RECONVERTSTRING = 0x0004 }
612 enum : uint { IMR_CONFIRMRECONVERTSTRING = 0x0005 }
613 enum : uint { IMR_QUERYCHARPOSITION = 0x0006 }
614 enum : uint { IMR_DOCUMENTFEED = 0x0007 }
615 // #endif /* WINVER >= 0x040A */
616
617 enum { IMM_ERROR_NODATA = -1 }
618 enum { IMM_ERROR_GENERAL = -2 }
619
620 enum : uint { IME_CONFIG_GENERAL = 1 }
621 enum : uint { IME_CONFIG_REGISTERWORD = 2 }
622 enum : uint { IME_CONFIG_SELECTDICTIONARY = 3 }
623
624 enum : uint { IME_ESC_QUERY_SUPPORT = 0x0003 }
625 enum : uint { IME_ESC_RESERVED_FIRST = 0x0004 }
626 enum : uint { IME_ESC_RESERVED_LAST = 0x07FF }
627 enum : uint { IME_ESC_PRIVATE_FIRST = 0x0800 }
628 enum : uint { IME_ESC_PRIVATE_LAST = 0x0FFF }
629
630 enum : uint { IME_ESC_SEQUENCE_TO_INTERNAL = 0x1001 }
631 enum : uint { IME_ESC_GET_EUDC_DICTIONARY = 0x1003 }
632 enum : uint { IME_ESC_SET_EUDC_DICTIONARY = 0x1004 }
633 enum : uint { IME_ESC_MAX_KEY = 0x1005 }
634 enum : uint { IME_ESC_IME_NAME = 0x1006 }
635 enum : uint { IME_ESC_SYNC_HOTKEY = 0x1007 }
636 enum : uint { IME_ESC_HANJA_MODE = 0x1008 }
637 enum : uint { IME_ESC_AUTOMATA = 0x1009 }
638 enum : uint { IME_ESC_PRIVATE_HOTKEY = 0x100a }
639 enum : uint { IME_ESC_GETHELPFILENAME = 0x100b }
640
641 enum : uint { IME_REGWORD_STYLE_EUDC = 0x00000001 }
642 enum : uint { IME_REGWORD_STYLE_USER_FIRST = 0x80000000 }
643 enum : uint { IME_REGWORD_STYLE_USER_LAST = 0xFFFFFFFF }
644
645 // #if (WINVER >= 0x040A)
646
647 enum : uint { IACE_CHILDREN = 0x0001 }
648 enum : uint { IACE_DEFAULT = 0x0010 }
649 enum : uint { IACE_IGNORENOCONTEXT = 0x0020 }
650
651 enum : uint { IGIMIF_RIGHTMENU = 0x0001 }
652
653 enum : uint { IGIMII_CMODE = 0x0001 }
654 enum : uint { IGIMII_SMODE = 0x0002 }
655 enum : uint { IGIMII_CONFIGURE = 0x0004 }
656 enum : uint { IGIMII_TOOLS = 0x0008 }
657 enum : uint { IGIMII_HELP = 0x0010 }
658 enum : uint { IGIMII_OTHER = 0x0020 }
659 enum : uint { IGIMII_INPUTTOOLS = 0x0040 }
660
661 enum : uint { IMFT_RADIOCHECK = 0x00001 }
662 enum : uint { IMFT_SEPARATOR = 0x00002 }
663 enum : uint { IMFT_SUBMENU = 0x00004 }
664
665 alias MFS_GRAYED IMFS_GRAYED;
666 alias MFS_DISABLED IMFS_DISABLED;
667 alias MFS_CHECKED IMFS_CHECKED;
668 alias MFS_HILITE IMFS_HILITE;
669 alias MFS_ENABLED IMFS_ENABLED;
670 alias MFS_UNCHECKED IMFS_UNCHECKED;
671 alias MFS_UNHILITE IMFS_UNHILITE;
672 alias MFS_DEFAULT IMFS_DEFAULT;
673
674 // #endif /* WINVER >= 0x040A */
675
676 enum : uint { SOFTKEYBOARD_TYPE_T1 = 0x0001 }
677
678 enum : uint { SOFTKEYBOARD_TYPE_C1 = 0x0002 }
679
680 // #endif // _IMM_SDK_DEFINED_
681
682 // #ifdef __cplusplus
683 // }
684 // #endif
685
686 // #endif // _IMM_