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