Commit | Line | Data |
---|---|---|
a0d77315 AJ |
1 | /* |
2 | * imm.h - Declarations for IMM32 | |
3 | */ | |
4 | ||
5 | #ifndef __WINE_IMM_H | |
6 | #define __WINE_IMM_H | |
7 | ||
2e1cafa2 | 8 | #include "windef.h" |
d30dfd24 | 9 | |
ea1640fc PQ |
10 | #ifdef __cplusplus |
11 | extern "C" { | |
12 | #endif | |
13 | ||
a3960292 AJ |
14 | typedef HANDLE HIMC; |
15 | typedef HANDLE HIMCC; | |
a0d77315 | 16 | |
a0d77315 | 17 | |
ae41e8c8 FG |
18 | typedef int CALLBACK (*REGISTERWORDENUMPROCA)(LPCSTR, DWORD, LPCSTR, LPVOID); |
19 | typedef int CALLBACK (*REGISTERWORDENUMPROCW)(LPCWSTR, DWORD, LPCWSTR, LPVOID); | |
a0d77315 | 20 | |
ea1640fc PQ |
21 | typedef struct tagCANDIDATEFORM |
22 | { | |
23 | DWORD dwIndex; | |
24 | DWORD dwStyle; | |
25 | POINT ptCurrentPos; | |
26 | RECT rcArea; | |
27 | } CANDIDATEFORM, *LPCANDIDATEFORM; | |
28 | ||
29 | typedef struct tagCANDIDATELIST | |
30 | { | |
31 | DWORD dwSize; | |
32 | DWORD dwStyle; | |
33 | DWORD dwCount; | |
34 | DWORD dwSelection; | |
35 | DWORD dwPageStart; | |
36 | DWORD dwPageSize; | |
37 | DWORD dwOffset[1]; | |
38 | } CANDIDATELIST, *LPCANDIDATELIST; | |
39 | ||
40 | typedef struct tagSTYLEBUFA | |
41 | { | |
42 | DWORD dwStyle; | |
43 | CHAR szDescription[32]; | |
44 | } STYLEBUFA, *LPSTYLEBUFA; | |
45 | ||
46 | typedef struct tagSTYLEBUFW | |
47 | { | |
48 | DWORD dwStyle; | |
49 | WCHAR szDescription[32]; | |
50 | } STYLEBUFW, *LPSTYLEBUFW; | |
51 | ||
52 | DECL_WINELIB_TYPE_AW(STYLEBUF) | |
53 | DECL_WINELIB_TYPE_AW(LPSTYLEBUF) | |
54 | ||
14d6c021 HT |
55 | #if (WINVER >= 0x040A) |
56 | ||
57 | typedef struct tagRECONVERTSTRING | |
58 | { | |
59 | DWORD dwSize; | |
60 | DWORD dwVersion; | |
61 | DWORD dwStrLen; | |
62 | DWORD dwStrOffset; | |
63 | DWORD dwCompStrLen; | |
64 | DWORD dwCompStrOffset; | |
65 | DWORD dwTargetStrLen; | |
66 | DWORD dwTargetStrOffset; | |
67 | } RECONVERTSTRING, *LPRECONVERTSTRING; | |
68 | ||
69 | ||
70 | #define IMEMENUITEM_STRING_SIZE 80 | |
71 | ||
72 | typedef struct tagIMEMENUITEMINFOA | |
73 | { | |
74 | UINT cbSize; | |
75 | UINT fType; | |
76 | UINT fState; | |
77 | UINT wID; | |
78 | HBITMAP hbmpChecked; | |
79 | HBITMAP hbmpUnchecked; | |
80 | DWORD dwItemData; | |
81 | CHAR szString[IMEMENUITEM_STRING_SIZE]; | |
82 | HBITMAP hbmpItem; | |
83 | } IMEMENUITEMINFOA, *LPIMEMENUITEMINFOA; | |
84 | ||
85 | typedef struct tagIMEMENUITEMINFOW | |
86 | { | |
87 | UINT cbSize; | |
88 | UINT fType; | |
89 | UINT fState; | |
90 | UINT wID; | |
91 | HBITMAP hbmpChecked; | |
92 | HBITMAP hbmpUnchecked; | |
93 | DWORD dwItemData; | |
94 | WCHAR szString[IMEMENUITEM_STRING_SIZE]; | |
95 | HBITMAP hbmpItem; | |
96 | } IMEMENUITEMINFOW, *LPIMEMENUITEMINFOW; | |
97 | ||
98 | DECL_WINELIB_TYPE_AW(IMEMENUITEMINFO) | |
99 | DECL_WINELIB_TYPE_AW(LPIMEMENUITEMINFO) | |
100 | ||
101 | #endif /* WINVER >= 0x040A */ | |
102 | ||
103 | ||
ea1640fc PQ |
104 | typedef struct _tagCOMPOSITIONFORM |
105 | { | |
106 | DWORD dwStyle; | |
107 | POINT ptCurrentPos; | |
108 | RECT rcArea; | |
109 | } COMPOSITIONFORM, *LPCOMPOSITIONFORM; | |
110 | ||
0f8bc5b5 | 111 | /* wParam for WM_IME_CONTROL */ |
ea1640fc PQ |
112 | #define IMC_GETCANDIDATEPOS 0x0007 |
113 | #define IMC_SETCANDIDATEPOS 0x0008 | |
114 | #define IMC_GETCOMPOSITIONFONT 0x0009 | |
115 | #define IMC_SETCOMPOSITIONFONT 0x000A | |
116 | #define IMC_GETCOMPOSITIONWINDOW 0x000B | |
117 | #define IMC_SETCOMPOSITIONWINDOW 0x000C | |
118 | #define IMC_GETSTATUSWINDOWPOS 0x000F | |
119 | #define IMC_SETSTATUSWINDOWPOS 0x0010 | |
120 | #define IMC_CLOSESTATUSWINDOW 0x0021 | |
121 | #define IMC_OPENSTATUSWINDOW 0x0022 | |
122 | ||
0f8bc5b5 PS |
123 | /* |
124 | * wParam for WM_IME_CONTROL to the soft keyboard | |
125 | * dwAction for ImmNotifyIME | |
126 | */ | |
ea1640fc PQ |
127 | #define NI_OPENCANDIDATE 0x0010 |
128 | #define NI_CLOSECANDIDATE 0x0011 | |
129 | #define NI_SELECTCANDIDATESTR 0x0012 | |
130 | #define NI_CHANGECANDIDATELIST 0x0013 | |
131 | #define NI_FINALIZECONVERSIONRESULT 0x0014 | |
132 | #define NI_COMPOSITIONSTR 0x0015 | |
133 | #define NI_SETCANDIDATE_PAGESTART 0x0016 | |
134 | #define NI_SETCANDIDATE_PAGESIZE 0x0017 | |
14d6c021 | 135 | #define NI_IMEMENUSELECTED 0x0018 |
ea1640fc | 136 | |
0f8bc5b5 | 137 | /* lParam for WM_IME_SETCONTEXT */ |
ea1640fc PQ |
138 | #define ISC_SHOWUICANDIDATEWINDOW 0x00000001 |
139 | #define ISC_SHOWUICOMPOSITIONWINDOW 0x80000000 | |
140 | #define ISC_SHOWUIGUIDELINE 0x40000000 | |
141 | #define ISC_SHOWUIALLCANDIDATEWINDOW 0x0000000F | |
142 | #define ISC_SHOWUIALL 0xC000000F | |
143 | ||
144 | ||
0f8bc5b5 | 145 | /* dwIndex for ImmNotifyIME/NI_COMPOSITIONSTR */ |
ea1640fc PQ |
146 | #define CPS_COMPLETE 0x0001 |
147 | #define CPS_CONVERT 0x0002 | |
148 | #define CPS_REVERT 0x0003 | |
149 | #define CPS_CANCEL 0x0004 | |
150 | ||
151 | ||
0f8bc5b5 | 152 | /* the modifiers of hot key */ |
ea1640fc PQ |
153 | #define MOD_ALT 0x0001 |
154 | #define MOD_CONTROL 0x0002 | |
155 | #define MOD_SHIFT 0x0004 | |
156 | ||
157 | #define MOD_LEFT 0x8000 | |
158 | #define MOD_RIGHT 0x4000 | |
159 | ||
160 | #define MOD_ON_KEYUP 0x0800 | |
161 | #define MOD_IGNORE_ALL_MODIFIER 0x0400 | |
162 | ||
163 | ||
0f8bc5b5 | 164 | /* Windows for Simplified Chinese Edition hot key ID from 0x10 - 0x2F */ |
ea1640fc PQ |
165 | #define IME_CHOTKEY_IME_NONIME_TOGGLE 0x10 |
166 | #define IME_CHOTKEY_SHAPE_TOGGLE 0x11 | |
167 | #define IME_CHOTKEY_SYMBOL_TOGGLE 0x12 | |
168 | ||
0f8bc5b5 | 169 | /* Windows for Japanese Edition hot key ID from 0x30 - 0x4F */ |
ea1640fc PQ |
170 | #define IME_JHOTKEY_CLOSE_OPEN 0x30 |
171 | ||
0f8bc5b5 | 172 | /* Windows for Korean Edition hot key ID from 0x50 - 0x6F */ |
ea1640fc PQ |
173 | #define IME_KHOTKEY_SHAPE_TOGGLE 0x50 |
174 | #define IME_KHOTKEY_HANJACONVERT 0x51 | |
175 | #define IME_KHOTKEY_ENGLISH 0x52 | |
0f8bc5b5 | 176 | /* Windows for Tranditional Chinese Edition hot key ID from 0x70 - 0x8F */ |
ea1640fc PQ |
177 | #define IME_THOTKEY_IME_NONIME_TOGGLE 0x70 |
178 | #define IME_THOTKEY_SHAPE_TOGGLE 0x71 | |
179 | #define IME_THOTKEY_SYMBOL_TOGGLE 0x72 | |
180 | ||
0f8bc5b5 | 181 | /* direct switch hot key ID from 0x100 - 0x11F */ |
ea1640fc PQ |
182 | #define IME_HOTKEY_DSWITCH_FIRST 0x100 |
183 | #define IME_HOTKEY_DSWITCH_LAST 0x11F | |
184 | ||
0f8bc5b5 | 185 | /* IME private hot key from 0x200 - 0x21F */ |
ea1640fc PQ |
186 | #define IME_HOTKEY_PRIVATE_FIRST 0x200 |
187 | #define IME_ITHOTKEY_RESEND_RESULTSTR 0x200 | |
188 | #define IME_ITHOTKEY_PREVIOUS_COMPOSITION 0x201 | |
189 | #define IME_ITHOTKEY_UISTYLE_TOGGLE 0x202 | |
14d6c021 | 190 | #define IME_ITHOTKEY_RECONVERTSTRING 0x203 |
ea1640fc PQ |
191 | #define IME_HOTKEY_PRIVATE_LAST 0x21F |
192 | ||
193 | ||
0f8bc5b5 PS |
194 | /* |
195 | * dwSystemInfoFlags bits | |
196 | * parameter of ImmGetCompositionString | |
197 | */ | |
ea1640fc PQ |
198 | #define GCS_COMPREADSTR 0x0001 |
199 | #define GCS_COMPREADATTR 0x0002 | |
200 | #define GCS_COMPREADCLAUSE 0x0004 | |
201 | #define GCS_COMPSTR 0x0008 | |
202 | #define GCS_COMPATTR 0x0010 | |
203 | #define GCS_COMPCLAUSE 0x0020 | |
204 | #define GCS_CURSORPOS 0x0080 | |
205 | #define GCS_DELTASTART 0x0100 | |
206 | #define GCS_RESULTREADSTR 0x0200 | |
207 | #define GCS_RESULTREADCLAUSE 0x0400 | |
208 | #define GCS_RESULTSTR 0x0800 | |
209 | #define GCS_RESULTCLAUSE 0x1000 | |
210 | ||
0f8bc5b5 | 211 | /* style bit flags for WM_IME_COMPOSITION */ |
ea1640fc PQ |
212 | #define CS_INSERTCHAR 0x2000 |
213 | #define CS_NOMOVECARET 0x4000 | |
214 | ||
215 | ||
0f8bc5b5 PS |
216 | /* |
217 | * bits of fdwInit of INPUTCONTEXT | |
218 | * IME version constants | |
219 | */ | |
ea1640fc PQ |
220 | #define IMEVER_0310 0x0003000A |
221 | #define IMEVER_0400 0x00040000 | |
222 | ||
223 | ||
0f8bc5b5 | 224 | /* IME property bits */ |
ea1640fc PQ |
225 | #define IME_PROP_AT_CARET 0x00010000 |
226 | #define IME_PROP_SPECIAL_UI 0x00020000 | |
227 | #define IME_PROP_CANDLIST_START_FROM_1 0x00040000 | |
228 | #define IME_PROP_UNICODE 0x00080000 | |
14d6c021 | 229 | #define IME_PROP_COMPLETE_ON_UNSELECT 0x00100000 |
ea1640fc PQ |
230 | |
231 | ||
0f8bc5b5 | 232 | /* IME UICapability bits */ |
ea1640fc PQ |
233 | #define UI_CAP_2700 0x00000001 |
234 | #define UI_CAP_ROT90 0x00000002 | |
235 | #define UI_CAP_ROTANY 0x00000004 | |
0f8bc5b5 | 236 | /* ImmSetCompositionString Capability bits */ |
ea1640fc PQ |
237 | #define SCS_CAP_COMPSTR 0x00000001 |
238 | #define SCS_CAP_MAKEREAD 0x00000002 | |
14d6c021 | 239 | #define SCS_CAP_SETRECONVERTSTRING 0x00000004 |
ea1640fc PQ |
240 | |
241 | ||
0f8bc5b5 | 242 | /* IME WM_IME_SELECT inheritance Capability bits */ |
ea1640fc PQ |
243 | #define SELECT_CAP_CONVERSION 0x00000001 |
244 | #define SELECT_CAP_SENTENCE 0x00000002 | |
245 | ||
246 | ||
0f8bc5b5 | 247 | /* ID for deIndex of ImmGetGuideLine */ |
ea1640fc PQ |
248 | #define GGL_LEVEL 0x00000001 |
249 | #define GGL_INDEX 0x00000002 | |
250 | #define GGL_STRING 0x00000003 | |
251 | #define GGL_PRIVATE 0x00000004 | |
252 | ||
0f8bc5b5 | 253 | /* ID for dwLevel of GUIDELINE Structure */ |
ea1640fc PQ |
254 | #define GL_LEVEL_NOGUIDELINE 0x00000000 |
255 | #define GL_LEVEL_FATAL 0x00000001 | |
256 | #define GL_LEVEL_ERROR 0x00000002 | |
257 | #define GL_LEVEL_WARNING 0x00000003 | |
258 | #define GL_LEVEL_INFORMATION 0x00000004 | |
259 | ||
0f8bc5b5 | 260 | /* ID for dwIndex of GUIDELINE Structure */ |
ea1640fc PQ |
261 | #define GL_ID_UNKNOWN 0x00000000 |
262 | #define GL_ID_NOMODULE 0x00000001 | |
263 | #define GL_ID_NODICTIONARY 0x00000010 | |
264 | #define GL_ID_CANNOTSAVE 0x00000011 | |
265 | #define GL_ID_NOCONVERT 0x00000020 | |
266 | #define GL_ID_TYPINGERROR 0x00000021 | |
267 | #define GL_ID_TOOMANYSTROKE 0x00000022 | |
268 | #define GL_ID_READINGCONFLICT 0x00000023 | |
269 | #define GL_ID_INPUTREADING 0x00000024 | |
270 | #define GL_ID_INPUTRADICAL 0x00000025 | |
271 | #define GL_ID_INPUTCODE 0x00000026 | |
272 | #define GL_ID_INPUTSYMBOL 0x00000027 | |
273 | #define GL_ID_CHOOSECANDIDATE 0x00000028 | |
274 | #define GL_ID_REVERSECONVERSION 0x00000029 | |
275 | #define GL_ID_PRIVATE_FIRST 0x00008000 | |
276 | #define GL_ID_PRIVATE_LAST 0x0000FFFF | |
277 | ||
0f8bc5b5 | 278 | /* ID for dwIndex of ImmGetProperty */ |
ea1640fc PQ |
279 | #define IGP_GETIMEVERSION (DWORD)(-4) |
280 | #define IGP_PROPERTY 0x00000004 | |
281 | #define IGP_CONVERSION 0x00000008 | |
282 | #define IGP_SENTENCE 0x0000000c | |
283 | #define IGP_UI 0x00000010 | |
284 | #define IGP_SETCOMPSTR 0x00000014 | |
285 | #define IGP_SELECT 0x00000018 | |
286 | ||
287 | ||
0f8bc5b5 | 288 | /* dwIndex for ImmSetCompositionString API */ |
ea1640fc PQ |
289 | #define SCS_SETSTR (GCS_COMPREADSTR|GCS_COMPSTR) |
290 | #define SCS_CHANGEATTR (GCS_COMPREADATTR|GCS_COMPATTR) | |
291 | #define SCS_CHANGECLAUSE (GCS_COMPREADCLAUSE|GCS_COMPCLAUSE) | |
14d6c021 HT |
292 | #define SCS_SETRECONVERTSTRING 0x00010000 |
293 | #define SCS_QUERYRECONVERTSTRING 0x00020000 | |
294 | ||
0f8bc5b5 | 295 | /* attribute for COMPOSITIONSTRING Structure */ |
ea1640fc PQ |
296 | #define ATTR_INPUT 0x00 |
297 | #define ATTR_TARGET_CONVERTED 0x01 | |
298 | #define ATTR_CONVERTED 0x02 | |
299 | #define ATTR_TARGET_NOTCONVERTED 0x03 | |
300 | #define ATTR_INPUT_ERROR 0x04 | |
14d6c021 | 301 | #define ATTR_FIXEDCONVERTED 0x05 |
ea1640fc PQ |
302 | |
303 | ||
0f8bc5b5 | 304 | /* bit field for IMC_SETCOMPOSITIONWINDOW, IMC_SETCANDIDATEWINDOW */ |
ea1640fc PQ |
305 | #define CFS_DEFAULT 0x0000 |
306 | #define CFS_RECT 0x0001 | |
307 | #define CFS_POINT 0x0002 | |
308 | #define CFS_FORCE_POSITION 0x0020 | |
309 | #define CFS_CANDIDATEPOS 0x0040 | |
310 | #define CFS_EXCLUDE 0x0080 | |
311 | ||
0f8bc5b5 | 312 | /* conversion direction for ImmGetConversionList */ |
ea1640fc PQ |
313 | #define GCL_CONVERSION 0x0001 |
314 | #define GCL_REVERSECONVERSION 0x0002 | |
315 | #define GCL_REVERSE_LENGTH 0x0003 | |
316 | ||
317 | ||
0f8bc5b5 | 318 | /* bit field for conversion mode */ |
ea1640fc PQ |
319 | #define IME_CMODE_ALPHANUMERIC 0x0000 |
320 | #define IME_CMODE_NATIVE 0x0001 | |
321 | #define IME_CMODE_CHINESE IME_CMODE_NATIVE | |
0f8bc5b5 | 322 | /* IME_CMODE_HANGEUL is old name of IME_CMODE_HANGUL. It will be gone eventually. */ |
ea1640fc PQ |
323 | #define IME_CMODE_HANGEUL IME_CMODE_NATIVE |
324 | #define IME_CMODE_HANGUL IME_CMODE_NATIVE | |
325 | #define IME_CMODE_JAPANESE IME_CMODE_NATIVE | |
0f8bc5b5 | 326 | #define IME_CMODE_KATAKANA 0x0002 /* only effect under IME_CMODE_NATIVE */ |
ea1640fc PQ |
327 | #define IME_CMODE_LANGUAGE 0x0003 |
328 | #define IME_CMODE_FULLSHAPE 0x0008 | |
329 | #define IME_CMODE_ROMAN 0x0010 | |
330 | #define IME_CMODE_CHARCODE 0x0020 | |
331 | #define IME_CMODE_HANJACONVERT 0x0040 | |
332 | #define IME_CMODE_SOFTKBD 0x0080 | |
333 | #define IME_CMODE_NOCONVERSION 0x0100 | |
334 | #define IME_CMODE_EUDC 0x0200 | |
335 | #define IME_CMODE_SYMBOL 0x0400 | |
14d6c021 | 336 | #define IME_CMODE_FIXED 0x0800 |
ea1640fc PQ |
337 | |
338 | ||
339 | #define IME_SMODE_NONE 0x0000 | |
340 | #define IME_SMODE_PLAURALCLAUSE 0x0001 | |
341 | #define IME_SMODE_SINGLECONVERT 0x0002 | |
342 | #define IME_SMODE_AUTOMATIC 0x0004 | |
343 | #define IME_SMODE_PHRASEPREDICT 0x0008 | |
14d6c021 | 344 | #define IME_SMODE_CONVERSATION 0x0010 |
ea1640fc | 345 | |
0f8bc5b5 | 346 | /* style of candidate */ |
ea1640fc PQ |
347 | #define IME_CAND_UNKNOWN 0x0000 |
348 | #define IME_CAND_READ 0x0001 | |
349 | #define IME_CAND_CODE 0x0002 | |
350 | #define IME_CAND_MEANING 0x0003 | |
351 | #define IME_CAND_RADICAL 0x0004 | |
352 | #define IME_CAND_STROKE 0x0005 | |
353 | ||
354 | ||
0f8bc5b5 | 355 | /* wParam of report message WM_IME_NOTIFY */ |
ea1640fc PQ |
356 | #define IMN_CLOSESTATUSWINDOW 0x0001 |
357 | #define IMN_OPENSTATUSWINDOW 0x0002 | |
358 | #define IMN_CHANGECANDIDATE 0x0003 | |
359 | #define IMN_CLOSECANDIDATE 0x0004 | |
360 | #define IMN_OPENCANDIDATE 0x0005 | |
361 | #define IMN_SETCONVERSIONMODE 0x0006 | |
362 | #define IMN_SETSENTENCEMODE 0x0007 | |
363 | #define IMN_SETOPENSTATUS 0x0008 | |
364 | #define IMN_SETCANDIDATEPOS 0x0009 | |
365 | #define IMN_SETCOMPOSITIONFONT 0x000A | |
366 | #define IMN_SETCOMPOSITIONWINDOW 0x000B | |
367 | #define IMN_SETSTATUSWINDOWPOS 0x000C | |
368 | #define IMN_GUIDELINE 0x000D | |
369 | #define IMN_PRIVATE 0x000E | |
370 | ||
371 | ||
14d6c021 HT |
372 | #if (WINVER >= 0x040A) |
373 | ||
374 | /* wParam of report message WM_IME_REQUEST */ | |
375 | #define IMR_COMPOSITIONWINDOW 0x0001 | |
376 | #define IMR_CANDIDATEWINDOW 0x0002 | |
377 | #define IMR_COMPOSITIONFONT 0x0003 | |
378 | #define IMR_RECONVERTSTRING 0x0004 | |
379 | #define IMR_CONFIRMRECONVERTSTRING 0x0005 | |
380 | ||
381 | #endif /* WINVER >= 0x040A */ | |
382 | ||
383 | ||
0f8bc5b5 | 384 | /* error code of ImmGetCompositionString */ |
ea1640fc PQ |
385 | #define IMM_ERROR_NODATA (-1) |
386 | #define IMM_ERROR_GENERAL (-2) | |
387 | ||
388 | ||
0f8bc5b5 | 389 | /* dialog mode of ImmConfigureIME */ |
ea1640fc PQ |
390 | #define IME_CONFIG_GENERAL 1 |
391 | #define IME_CONFIG_REGISTERWORD 2 | |
392 | #define IME_CONFIG_SELECTDICTIONARY 3 | |
393 | ||
0f8bc5b5 | 394 | /* dialog mode of ImmEscape */ |
ea1640fc PQ |
395 | #define IME_ESC_QUERY_SUPPORT 0x0003 |
396 | #define IME_ESC_RESERVED_FIRST 0x0004 | |
397 | #define IME_ESC_RESERVED_LAST 0x07FF | |
398 | #define IME_ESC_PRIVATE_FIRST 0x0800 | |
399 | #define IME_ESC_PRIVATE_LAST 0x0FFF | |
400 | #define IME_ESC_SEQUENCE_TO_INTERNAL 0x1001 | |
401 | #define IME_ESC_GET_EUDC_DICTIONARY 0x1003 | |
402 | #define IME_ESC_SET_EUDC_DICTIONARY 0x1004 | |
403 | #define IME_ESC_MAX_KEY 0x1005 | |
404 | #define IME_ESC_IME_NAME 0x1006 | |
405 | #define IME_ESC_SYNC_HOTKEY 0x1007 | |
406 | #define IME_ESC_HANJA_MODE 0x1008 | |
407 | #define IME_ESC_AUTOMATA 0x1009 | |
408 | #define IME_ESC_PRIVATE_HOTKEY 0x100a | |
14d6c021 | 409 | #define IME_ESC_GETHELPFILENAME 0x100b |
ea1640fc PQ |
410 | |
411 | ||
0f8bc5b5 | 412 | /* style of word registration */ |
ea1640fc PQ |
413 | #define IME_REGWORD_STYLE_EUDC 0x00000001 |
414 | #define IME_REGWORD_STYLE_USER_FIRST 0x80000000 | |
415 | #define IME_REGWORD_STYLE_USER_LAST 0xFFFFFFFF | |
416 | ||
14d6c021 HT |
417 | |
418 | #if (WINVER >= 0x040A) | |
419 | ||
420 | /* dwFlags for ImmAssociateContextEx */ | |
421 | #define IACE_CHILDREN 0x0001 | |
422 | #define IACE_DEFAULT 0x0010 | |
423 | #define IACE_IGNORENOCONTEXT 0x0020 | |
424 | ||
425 | /* dwFlags for ImmGetImeMenuItems */ | |
426 | #define IGIMIF_RIGHTMENU 0x0001 | |
427 | ||
428 | /* dwType for ImmGetImeMenuItems */ | |
429 | #define IGIMII_CMODE 0x0001 | |
430 | #define IGIMII_SMODE 0x0002 | |
431 | #define IGIMII_CONFIGURE 0x0004 | |
432 | #define IGIMII_TOOLS 0x0008 | |
433 | #define IGIMII_HELP 0x0010 | |
434 | #define IGIMII_OTHER 0x0020 | |
435 | #define IGIMII_INPUTTOOLS 0x0040 | |
436 | ||
437 | /* fType of IMEMENUITEMINFO structure */ | |
438 | #define IMFT_RADIOCHECK 0x00001 | |
439 | #define IMFT_SEPARATOR 0x00002 | |
440 | #define IMFT_SUBMENU 0x00004 | |
441 | ||
442 | /* fState of IMEMENUITEMINFO structure */ | |
443 | #define IMFS_GRAYED MFS_GRAYED | |
444 | #define IMFS_DISABLED MFS_DISABLED | |
445 | #define IMFS_CHECKED MFS_CHECKED | |
446 | #define IMFS_HILITE MFS_HILITE | |
447 | #define IMFS_ENABLED MFS_ENABLED | |
448 | #define IMFS_UNCHECKED MFS_UNCHECKED | |
449 | #define IMFS_UNHILITE MFS_UNHILITE | |
450 | #define IMFS_DEFAULT MFS_DEFAULT | |
451 | ||
452 | #endif /* WINVER >= 0x040A */ | |
453 | ||
454 | ||
455 | ||
0f8bc5b5 PS |
456 | /* |
457 | * type of soft keyboard | |
458 | * for Windows Tranditional Chinese Edition | |
459 | */ | |
ea1640fc | 460 | #define SOFTKEYBOARD_TYPE_T1 0x0001 |
0f8bc5b5 | 461 | /* for Windows Simplified Chinese Edition */ |
ea1640fc PQ |
462 | #define SOFTKEYBOARD_TYPE_C1 0x0002 |
463 | ||
a0d77315 | 464 | |
ea1640fc PQ |
465 | HIMC WINAPI ImmAssociateContext(HWND, HIMC); |
466 | BOOL WINAPI ImmConfigureIMEA(HKL, HWND, DWORD, LPVOID); | |
467 | BOOL WINAPI ImmConfigureIMEW(HKL, HWND, DWORD, LPVOID); | |
468 | #define ImmConfigureIME WINELIB_NAME_AW(ImmConfigureIME) | |
469 | HIMC WINAPI ImmCreateContext(); | |
470 | BOOL WINAPI ImmDestroyContext(HIMC hIMC); | |
471 | UINT WINAPI ImmEnumRegisterWordA(HKL, REGISTERWORDENUMPROCA, LPCSTR, DWORD, LPCSTR, LPVOID); | |
472 | UINT WINAPI ImmEnumRegisterWordW(HKL, REGISTERWORDENUMPROCW, LPCWSTR, DWORD, LPCWSTR, LPVOID); | |
473 | #define ImmEnumRegisterWord WINELIB_NAME_AW(ImmEnumRegisterWord) | |
474 | LRESULT WINAPI ImmEscapeA(HKL, HIMC, UINT, LPVOID); | |
475 | LRESULT WINAPI ImmEscapeW(HKL, HIMC, UINT, LPVOID); | |
476 | #define ImmEscape WINELIB_NAME_AW(ImmEscape) | |
477 | DWORD WINAPI ImmGetCandidateListA(HIMC, DWORD, LPCANDIDATELIST, DWORD); | |
478 | DWORD WINAPI ImmGetCandidateListW(HIMC, DWORD, LPCANDIDATELIST, DWORD); | |
479 | #define ImmGetCandidateList WINELIB_NAME_AW(ImmGetCandidateList) | |
480 | DWORD WINAPI ImmGetCandidateListCountA(HIMC, LPDWORD); | |
481 | DWORD WINAPI ImmGetCandidateListCountW(HIMC, LPDWORD); | |
482 | #define ImmGetCandidateListCount WINELIB_NAME_AW(ImmGetCandidateListCount) | |
483 | BOOL WINAPI ImmGetCandidateWindow(HIMC, DWORD, LPCANDIDATEFORM); | |
484 | BOOL WINAPI ImmGetCompositionFontA(HIMC, LPLOGFONTA); | |
485 | BOOL WINAPI ImmGetCompositionFontW(HIMC, LPLOGFONTW); | |
486 | #define ImmGetCompositionFont WINELIB_NAME_AW(ImmGetCompositionFont) | |
487 | LONG WINAPI ImmGetCompositionStringA(HIMC, DWORD, LPVOID, DWORD); | |
488 | LONG WINAPI ImmGetCompositionStringW(HIMC, DWORD, LPVOID, DWORD); | |
489 | #define ImmGetCompositionString WINELIB_NAME_AW(ImmGetCompositionString) | |
490 | BOOL WINAPI ImmGetCompositionWindow(HIMC, LPCOMPOSITIONFORM); | |
491 | HIMC WINAPI ImmGetContext(HWND); | |
492 | DWORD WINAPI ImmGetConversionListA(HKL, HIMC, LPCSTR, LPCANDIDATELIST, DWORD, UINT); | |
493 | DWORD WINAPI ImmGetConversionListW(HKL, HIMC, LPCWSTR, LPCANDIDATELIST, DWORD, UINT); | |
494 | #define ImmGetConversionList WINELIB_NAME_AW(ImmGetConversionList) | |
495 | BOOL WINAPI ImmGetConversionStatus(HIMC, LPDWORD, LPDWORD); | |
496 | HWND WINAPI ImmGetDefaultIMEWnd(HWND); | |
497 | UINT WINAPI ImmGetDescriptionA(HKL, LPSTR, UINT); | |
498 | UINT WINAPI ImmGetDescriptionW(HKL, LPWSTR, UINT); | |
499 | #define ImmGetDescription WINELIB_NAME_AW(ImmGetDescription) | |
500 | DWORD WINAPI ImmGetGuideLineA(HIMC, DWORD, LPSTR, DWORD); | |
501 | DWORD WINAPI ImmGetGuideLineW(HIMC, DWORD, LPWSTR, DWORD); | |
502 | #define ImmGetGuideLine WINELIB_NAME_AW(ImmGetGuideLine) | |
503 | UINT WINAPI ImmGetIMEFileNameA(HKL, LPSTR, UINT); | |
504 | UINT WINAPI ImmGetIMEFileNameW(HKL, LPWSTR, UINT); | |
505 | #define ImmGetIMEFileName WINELIB_NAME_AW(ImmGetIMEFileName) | |
506 | BOOL WINAPI ImmGetOpenStatus(HIMC); | |
507 | DWORD WINAPI ImmGetProperty(HKL, DWORD); | |
508 | UINT WINAPI ImmGetRegisterWordStyleA(HKL, UINT, LPSTYLEBUFA); | |
509 | UINT WINAPI ImmGetRegisterWordStyleW(HKL, UINT, LPSTYLEBUFW); | |
510 | #define ImmGetRegisterWordStyle WINELIB_NAME_AW(ImmGetRegisterWordStyle) | |
511 | BOOL WINAPI ImmGetStatusWindowPos(HIMC, LPPOINT); | |
512 | UINT WINAPI ImmGetVirtualKey(HWND); | |
513 | HKL WINAPI ImmInstallIMEA(LPCSTR, LPCSTR); | |
514 | HKL WINAPI ImmInstallIMEW(LPCWSTR, LPCWSTR); | |
515 | #define ImmInstallIME WINELIB_NAME_AW(ImmInstallIME) | |
516 | BOOL WINAPI ImmIsIME(HKL); | |
517 | BOOL WINAPI ImmIsUIMessageA(HWND, UINT, WPARAM, LPARAM); | |
518 | BOOL WINAPI ImmIsUIMessageW(HWND, UINT, WPARAM, LPARAM); | |
519 | #define ImmIsUIMessage WINELIB_NAME_AW(ImmIsUIMessage) | |
520 | BOOL WINAPI ImmNotifyIME(HIMC, DWORD, DWORD, DWORD); | |
521 | BOOL WINAPI ImmRegisterWordA(HKL, LPCSTR, DWORD, LPCSTR); | |
522 | BOOL WINAPI ImmRegisterWordW(HKL, LPCWSTR, DWORD, LPCWSTR); | |
523 | #define ImmRegisterWord WINELIB_NAME_AW(ImmRegisterWord) | |
524 | BOOL WINAPI ImmReleaseContext(HWND, HIMC); | |
525 | BOOL WINAPI ImmSetCandidateWindow(HIMC, LPCANDIDATEFORM); | |
526 | BOOL WINAPI ImmSetCompositionFontA(HIMC, LPLOGFONTA); | |
527 | BOOL WINAPI ImmSetCompositionFontW(HIMC, LPLOGFONTW); | |
528 | #define ImmSetCompositionFont WINELIB_NAME_AW(ImmSetCompositionFont) | |
529 | BOOL WINAPI ImmSetCompositionStringA(HIMC, DWORD, LPCVOID, DWORD, LPCVOID, DWORD); | |
530 | BOOL WINAPI ImmSetCompositionStringW(HIMC, DWORD, LPCVOID, DWORD, LPCVOID, DWORD); | |
531 | #define ImmSetCompositionString WINELIB_NAME_AW(ImmSetCompositionString) | |
532 | BOOL WINAPI ImmSetCompositionWindow(HIMC, LPCOMPOSITIONFORM); | |
533 | BOOL WINAPI ImmSetConversionStatus(HIMC, DWORD, DWORD); | |
534 | BOOL WINAPI ImmSetOpenStatus(HIMC, BOOL); | |
535 | BOOL WINAPI ImmSetStatusWindowPos(HIMC, LPPOINT); | |
536 | BOOL WINAPI ImmSimulateHotKey(HWND, DWORD); | |
537 | BOOL WINAPI ImmUnregisterWordA(HKL, LPCSTR, DWORD, LPCSTR); | |
538 | BOOL WINAPI ImmUnregisterWordW(HKL, LPCWSTR, DWORD, LPCWSTR); | |
539 | #define ImmUnregisterWord WINELIB_NAME_AW(ImmUnregisterWord) | |
a0d77315 | 540 | |
14d6c021 HT |
541 | #if (WINVER >= 0x040A) |
542 | ||
543 | BOOL WINAPI ImmAssociateContextEx(HWND, HIMC, DWORD); | |
544 | ||
545 | #endif /* WINVER >= 0x040A */ | |
546 | ||
547 | ||
ea1640fc PQ |
548 | #ifdef __cplusplus |
549 | } | |
550 | #endif | |
a0d77315 AJ |
551 | |
552 | #endif /* __WINE_IMM_H */ |