Diff

Not logged in

Differences From Artifact [6732090e27c6d34a]:

To Artifact [298859cd23308dab]:


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 10 module win32.imm; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino 5 - 6 -import win32.windef; 7 -import win32.winuser; 8 - 9 -// #ifndef _IMM_ 10 -// #define _IMM_ 11 - 12 -// #ifdef __cplusplus 13 -// extern "C" { 14 -// #endif 15 - 16 -// #ifndef _IMM_SDK_DEFINED_ 17 -// #define _IMM_SDK_DEFINED_ 18 - 19 -// #if (WINVER >= 0x040A) 20 -alias void* HIMC; 21 -alias void* HIMCC; 22 -// #else 23 -// ... 24 -// #endif /* WINVER >= 0x040A */ 25 - 11 +pragma(lib, "imm32.lib"); 12 + 13 +import win32.windef, win32.wingdi; 14 +import win32.winuser; // for the MFS_xxx enums. 15 +private import win32.w32api; 16 + 17 +const WM_CONVERTREQUESTEX = 0x108; 18 +const WM_IME_STARTCOMPOSITION = 0x10D; 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; 30 +} 31 +const WM_IME_KEYDOWN = 0x290; 32 +const WM_IME_KEYUP = 0x291; 33 + 34 + 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; 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 279 alias HKL* LPHKL; 27 -alias UINT* LPUINT; 28 280 29 -struct tagCOMPOSITIONFORM { 30 - DWORD dwStyle; 31 - POINT ptCurrentPos; 32 - RECT rcArea; 281 +struct COMPOSITIONFORM{ 282 + DWORD dwStyle; 283 + POINT ptCurrentPos; 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; 35 -alias tagCOMPOSITIONFORM* PCOMPOSITIONFORM; 36 -alias tagCOMPOSITIONFORM* NPCOMPOSITIONFORM; 37 -alias tagCOMPOSITIONFORM* LPCOMPOSITIONFORM; 317 +alias REGISTERWORDW* PREGISTERWORDW, LPREGISTERWORDW; 38 318 39 -struct tagCANDIDATEFORM { 40 - DWORD dwIndex; 41 - DWORD dwStyle; 42 - POINT ptCurrentPos; 43 - RECT rcArea; 319 +struct STYLEBUFA{ 320 + DWORD dwStyle; 321 + CHAR szDescription[STYLE_DESCRIPTION_SIZE]; 44 322 } 45 -alias tagCANDIDATEFORM CANDIDATEFORM; 46 -alias tagCANDIDATEFORM* PCANDIDATEFORM; 47 -alias tagCANDIDATEFORM* NPCANDIDATEFORM; 48 -alias tagCANDIDATEFORM* LPCANDIDATEFORM; 323 +alias STYLEBUFA* PSTYLEBUFA, LPSTYLEBUFA; 49 324 50 -struct tagCANDIDATELIST { 51 - DWORD dwSize; 52 - DWORD dwStyle; 53 - DWORD dwCount; 54 - DWORD dwSelection; 55 - DWORD dwPageStart; 56 - DWORD dwPageSize; 57 - DWORD dwOffset[1]; 325 +struct STYLEBUFW{ 326 + DWORD dwStyle; 327 + WCHAR szDescription[STYLE_DESCRIPTION_SIZE]; 58 328 } 59 -alias tagCANDIDATELIST CANDIDATELIST; 60 -alias tagCANDIDATELIST* PCANDIDATELIST; 61 -alias tagCANDIDATELIST* NPCANDIDATELIST; 62 -alias tagCANDIDATELIST* LPCANDIDATELIST; 329 +alias STYLEBUFW* PSTYLEBUFW, LPSTYLEBUFW; 63 330 64 -struct tagREGISTERWORDA { 65 - LPSTR lpReading; 66 - LPSTR lpWord; 331 +struct IMEMENUITEMINFOA{ 332 + UINT cbSize = this.sizeof; 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; 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 342 +alias IMEMENUITEMINFOA* PIMEMENUITEMINFOA, LPIMEMENUITEMINFOA; 90 343 91 -// #if (WINVER >= 0x040A) 92 - 93 -struct tagRECONVERTSTRING { 94 - DWORD dwSize; 95 - DWORD dwVersion; 96 - DWORD dwStrLen; 97 - DWORD dwStrOffset; 98 - DWORD dwCompStrLen; 99 - DWORD dwCompStrOffset; 100 - DWORD dwTargetStrLen; 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]; 344 +struct IMEMENUITEMINFOW{ 345 + UINT cbSize = this.sizeof; 346 + UINT fType; 347 + UINT fState; 348 + UINT wID; 349 + HBITMAP hbmpChecked; 350 + HBITMAP hbmpUnchecked; 351 + DWORD dwItemData; 352 + WCHAR szString[IMEMENUITEM_STRING_SIZE]; 353 + HBITMAP hbmpItem; 115 354 } 116 -alias tagSTYLEBUFA STYLEBUFA; 117 -alias tagSTYLEBUFA* PSTYLEBUFA; 118 -alias tagSTYLEBUFA* NPSTYLEBUFA; 119 -alias tagSTYLEBUFA* LPSTYLEBUFA; 355 +alias IMEMENUITEMINFOW* PIMEMENUITEMINFOW, LPIMEMENUITEMINFOW; 120 356 121 -struct tagSTYLEBUFW { 122 - DWORD dwStyle; 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 357 +alias int function (LPCSTR, DWORD, LPCSTR, LPVOID) REGISTERWORDENUMPROCA; 358 +alias int function (LPCWSTR, DWORD, LPCWSTR, LPVOID) REGISTERWORDENUMPROCW; 138 359 139 -// #if (WINVER >= 0x040A) 140 - 141 -enum : uint { IMEMENUITEM_STRING_SIZE = 80 } 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; 177 -alias PIMEMENUITEMINFOW PIMEMENUITEMINFO; 178 -alias NPIMEMENUITEMINFOW NPIMEMENUITEMINFO; 179 -alias LPIMEMENUITEMINFOW LPIMEMENUITEMINFO; 180 -// #else 181 -// ... 182 -// #endif // UNICODE 183 - 184 -struct tagIMECHARPOSITION { 185 - DWORD dwSize; 186 - DWORD dwCharPos; 187 - POINT pt; 188 - UINT cLineHeight; 189 - RECT rcDocument; 360 +version(Unicode) { 361 + alias REGISTERWORDENUMPROCW REGISTERWORDENUMPROC; 362 + alias REGISTERWORDW REGISTERWORD; 363 + alias IMEMENUITEMINFOW IMEMENUITEMINFO; 364 + alias STYLEBUFW STYLEBUF; 365 +} else { 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 lpszLayoutText); 201 -extern(Windows) export HKL ImmInstallIMEW( LPCWSTR lpszIMEFileName, LPCWSTR lpszLayoutText); 202 -// #ifdef UNICODE 203 -alias ImmInstallIMEW ImmInstallIME; 204 -// #else 205 -// #... 206 -// #endif // !UNICODE 207 - 208 -extern(Windows) export HWND ImmGetDefaultIMEWnd( HWND); 209 - 210 -extern(Windows) export UINT ImmGetDescriptionA( HKL, LPSTR, UINT uBufLen); 211 -extern(Windows) export UINT ImmGetDescriptionW( HKL, LPWSTR, UINT uBufLen); 212 -// #ifdef UNICODE 213 -alias ImmGetDescriptionW ImmGetDescription; 214 -// #else 215 -// #... 216 -// #endif // !UNICODE 377 +extern (Windows): 378 +HKL ImmInstallIMEA(LPCSTR, LPCSTR); 379 +HKL ImmInstallIMEW(LPCWSTR, LPCWSTR); 380 +HWND ImmGetDefaultIMEWnd(HWND); 381 +UINT ImmGetDescriptionA(HKL, LPSTR, UINT); 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(); 389 +BOOL ImmDestroyContext(HIMC); 390 +HIMC ImmGetContext(HWND); 391 +BOOL ImmReleaseContext(HWND, HIMC); 392 +HIMC ImmAssociateContext(HWND, HIMC); 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); 219 -extern(Windows) export UINT ImmGetIMEFileNameW( HKL, LPWSTR, UINT uBufLen); 220 -// #ifdef UNICODE 221 -alias ImmGetIMEFileNameW ImmGetIMEFileName; 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 */ 408 +BOOL ImmGetCompositionFontA(HIMC, LPLOGFONTA); 409 +BOOL ImmGetCompositionFontW(HIMC, LPLOGFONTW); 410 +BOOL ImmSetCompositionFontA(HIMC, LPLOGFONTA); 411 +BOOL ImmSetCompositionFontW(HIMC, LPLOGFONTW); 240 412 241 -extern(Windows) export LONG ImmGetCompositionStringA( HIMC, DWORD, LPVOID, DWORD); 242 -extern(Windows) export LONG ImmGetCompositionStringW( HIMC, DWORD, LPVOID, DWORD); 243 -// #ifdef UNICODE 244 -alias ImmGetCompositionStringW ImmGetCompositionString; 245 -// #else 246 -// #... 247 -// #endif // !UNICODE 248 - 249 -extern(Windows) export BOOL ImmSetCompositionStringA( HIMC, DWORD dwIndex, LPVOID lpComp, DWORD, LPVOID lpRead, DWORD); 250 -extern(Windows) export BOOL ImmSetCompositionStringW( HIMC, DWORD dwIndex, LPVOID lpComp, DWORD, LPVOID lpRead, DWORD); 251 -// #ifdef UNICODE 252 -alias ImmSetCompositionStringW ImmSetCompositionString; 253 -// #else 254 -// #... 255 -// #endif // !UNICODE 256 - 257 -extern(Windows) export DWORD ImmGetCandidateListCountA( HIMC, LPDWORD lpdwListCount); 258 -extern(Windows) export DWORD ImmGetCandidateListCountW( HIMC, LPDWORD lpdwListCount); 259 -// #ifdef UNICODE 260 -alias ImmGetCandidateListCountW ImmGetCandidateListCount; 261 -// #else 262 -// #... 263 -// #endif // !UNICODE 264 - 265 -extern(Windows) export DWORD ImmGetCandidateListA( HIMC, DWORD deIndex, LPCANDIDATELIST, DWORD dwBufLen); 266 -extern(Windows) export DWORD ImmGetCandidateListW( HIMC, DWORD deIndex, LPCANDIDATELIST, DWORD dwBufLen); 267 -// #ifdef UNICODE 268 -alias ImmGetCandidateListW ImmGetCandidateList; 269 -// #else 270 -// #... 271 -// #endif // !UNICODE 272 - 273 -extern(Windows) export DWORD ImmGetGuideLineA( HIMC, DWORD dwIndex, LPSTR, DWORD dwBufLen); 274 -extern(Windows) export DWORD ImmGetGuideLineW( HIMC, DWORD dwIndex, LPWSTR, DWORD dwBufLen); 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); 303 -extern(Windows) export BOOL ImmConfigureIMEW( HKL, HWND, DWORD, LPVOID); 304 -// #ifdef UNICODE 305 -alias ImmConfigureIMEW ImmConfigureIME; 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, LPCANDIDATELIST, DWORD dwBufLen, UINT uFlag); 319 -extern(Windows) export DWORD ImmGetConversionListW( HKL, HIMC, LPCWSTR, LPCANDIDATELIST, DWORD dwBufLen, UINT uFlag); 320 -// #ifdef UNICODE 321 -alias ImmGetConversionListW ImmGetConversionList; 322 -// #else 323 -// #... 324 -// #endif // !UNICODE 325 - 326 -extern(Windows) export BOOL ImmNotifyIME( HIMC, DWORD dwAction, DWORD dwIndex, DWORD dwValue); 327 - 328 -extern(Windows) export BOOL ImmGetStatusWindowPos( HIMC, LPPOINT); 329 -extern(Windows) export BOOL ImmSetStatusWindowPos( HIMC, LPPOINT); 330 -extern(Windows) export BOOL ImmGetCompositionWindow( HIMC, LPCOMPOSITIONFORM); 331 -extern(Windows) export BOOL ImmSetCompositionWindow( HIMC, LPCOMPOSITIONFORM); 332 -extern(Windows) export BOOL ImmGetCandidateWindow( HIMC, DWORD, LPCANDIDATEFORM); 333 -extern(Windows) export BOOL ImmSetCandidateWindow( HIMC, LPCANDIDATEFORM); 334 - 335 -extern(Windows) export BOOL ImmIsUIMessageA( HWND, UINT, WPARAM, LPARAM); 336 -extern(Windows) export BOOL ImmIsUIMessageW( HWND, UINT, WPARAM, LPARAM); 337 -// #ifdef UNICODE 338 -alias ImmIsUIMessageW ImmIsUIMessage; 339 -// #else 340 -// #... 341 -// #endif // !UNICODE 342 - 343 -extern(Windows) export UINT ImmGetVirtualKey( HWND); 344 - 345 -extern(Windows) alias int function(LPCSTR, DWORD, LPCSTR, LPVOID) REGISTERWORDENUMPROCA; 346 -extern(Windows) alias int function(LPCWSTR, DWORD, LPCWSTR, LPVOID) REGISTERWORDENUMPROCW; 347 -// #ifdef UNICODE 348 -alias REGISTERWORDENUMPROCW REGISTERWORDENUMPROC; 349 -// #else 350 -// #... 351 -// #endif // !UNICODE 352 - 353 -extern(Windows) export BOOL ImmRegisterWordA( HKL, LPCSTR lpszReading, DWORD, LPCSTR lpszRegister); 354 -extern(Windows) export BOOL ImmRegisterWordW( HKL, LPCWSTR lpszReading, DWORD, LPCWSTR lpszRegister); 355 -// #ifdef UNICODE 356 -alias ImmRegisterWordW ImmRegisterWord; 357 -// #else 358 -// #... 359 -// #endif // !UNICODE 413 +BOOL ImmConfigureIMEA(HKL, HWND, DWORD, PVOID); 414 +BOOL ImmConfigureIMEW(HKL, HWND, DWORD, PVOID); 415 +LRESULT ImmEscapeA(HKL, HIMC, UINT, PVOID); 416 +LRESULT ImmEscapeW(HKL, HIMC, UINT, PVOID); 417 +DWORD ImmGetConversionListA(HKL, HIMC, LPCSTR, PCANDIDATELIST, DWORD, UINT); 418 +DWORD ImmGetConversionListW(HKL, HIMC, LPCWSTR, PCANDIDATELIST, DWORD, UINT); 419 +BOOL ImmNotifyIME(HIMC, DWORD, DWORD, DWORD); 420 +BOOL ImmGetStatusWindowPos(HIMC, LPPOINT); 421 +BOOL ImmSetStatusWindowPos(HIMC, LPPOINT); 422 +BOOL ImmGetCompositionWindow(HIMC, PCOMPOSITIONFORM); 423 +BOOL ImmSetCompositionWindow(HIMC, PCOMPOSITIONFORM); 424 +BOOL ImmGetCandidateWindow(HIMC, DWORD, PCANDIDATEFORM); 425 +BOOL ImmSetCandidateWindow(HIMC, PCANDIDATEFORM); 426 +BOOL ImmIsUIMessageA(HWND, UINT, WPARAM, LPARAM); 427 +BOOL ImmIsUIMessageW(HWND, UINT, WPARAM, LPARAM); 428 +UINT ImmGetVirtualKey(HWND); 429 +BOOL ImmRegisterWordA(HKL, LPCSTR, DWORD, LPCSTR); 430 +BOOL ImmRegisterWordW(HKL, LPCWSTR, DWORD, LPCWSTR); 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, PVOID); 436 +UINT ImmEnumRegisterWordW(HKL, REGISTERWORDENUMPROCW, LPCWSTR, DWORD, LPCWSTR, PVOID); 437 +BOOL EnableEUDC(BOOL); 438 +BOOL ImmDisableIME(DWORD); 439 +DWORD ImmGetImeMenuItemsA(HIMC, DWORD, DWORD, LPIMEMENUITEMINFOA, LPIMEMENUITEMINFOA, DWORD); 440 +DWORD ImmGetImeMenuItemsW(HIMC, DWORD, DWORD, LPIMEMENUITEMINFOW, LPIMEMENUITEMINFOW, DWORD); 360 441 361 -extern(Windows) export BOOL ImmUnregisterWordA( HKL, LPCSTR lpszReading, DWORD, LPCSTR lpszUnregister); 362 -extern(Windows) export BOOL ImmUnregisterWordW( HKL, LPCWSTR lpszReading, DWORD, LPCWSTR lpszUnregister); 363 -// #ifdef UNICODE 364 -alias ImmUnregisterWordW ImmUnregisterWord; 365 -// #else 366 -// #... 367 -// #endif // !UNICODE 368 - 369 -extern(Windows) export UINT ImmGetRegisterWordStyleA( HKL, UINT nItem, LPSTYLEBUFA); 370 -extern(Windows) export UINT ImmGetRegisterWordStyleW( HKL, UINT nItem, LPSTYLEBUFW); 371 -// #ifdef UNICODE 372 -alias ImmGetRegisterWordStyleW ImmGetRegisterWordStyle; 373 -// #else 374 -// #... 375 -// #endif // !UNICODE 376 - 377 -extern(Windows) export UINT ImmEnumRegisterWordA( HKL, REGISTERWORDENUMPROCA, LPCSTR lpszReading, DWORD, LPCSTR lpszRegister, LPVOID); 378 -extern(Windows) export UINT ImmEnumRegisterWordW( HKL, REGISTERWORDENUMPROCW, LPCWSTR lpszReading, DWORD, LPCWSTR lpszRegister, LPVOID); 379 -// #ifdef UNICODE 380 -alias ImmEnumRegisterWordW ImmEnumRegisterWord; 381 -// #else 382 -// #... 383 -// #endif // !UNICODE 384 - 385 -// #if (WINVER >= 0x040A) 386 -extern(Windows) export BOOL ImmDisableIME( DWORD); 387 -extern(Windows) export BOOL ImmEnumInputContext(DWORD idThread, IMCENUMPROC lpfn, LPARAM lParam); 388 -extern(Windows) export DWORD ImmGetImeMenuItemsA( HIMC, DWORD, DWORD, LPIMEMENUITEMINFOA, LPIMEMENUITEMINFOA, DWORD); 389 -extern(Windows) export DWORD ImmGetImeMenuItemsW( HIMC, DWORD, DWORD, LPIMEMENUITEMINFOW, LPIMEMENUITEMINFOW, DWORD); 390 -// #ifdef UNICODE 391 -alias ImmGetImeMenuItemsW ImmGetImeMenuItems; 392 -// #else 393 -// #... 394 -// #endif // !UNICODE 395 -// #endif /* WINVER >= 0x040A */ 396 - 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_ 442 +version(Unicode) { 443 + alias ImmEnumRegisterWordW ImmEnumRegisterWord; 444 + alias ImmGetRegisterWordStyleW ImmGetRegisterWordStyle; 445 + alias ImmUnregisterWordW ImmUnregisterWord; 446 + alias ImmRegisterWordW ImmRegisterWord; 447 + alias ImmInstallIMEW ImmInstallIME; 448 + alias ImmIsUIMessageW ImmIsUIMessage; 449 + alias ImmGetConversionListW ImmGetConversionList; 450 + alias ImmEscapeW ImmEscape; 451 + alias ImmConfigureIMEW ImmConfigureIME; 452 + alias ImmSetCompositionFontW ImmSetCompositionFont; 453 + alias ImmGetCompositionFontW ImmGetCompositionFont; 454 + alias ImmGetGuideLineW ImmGetGuideLine; 455 + alias ImmGetCandidateListW ImmGetCandidateList; 456 + alias ImmGetCandidateListCountW ImmGetCandidateListCount; 457 + alias ImmSetCompositionStringW ImmSetCompositionString; 458 + alias ImmGetCompositionStringW ImmGetCompositionString; 459 + alias ImmGetDescriptionW ImmGetDescription; 460 + alias ImmGetIMEFileNameW ImmGetIMEFileName; 461 + alias ImmGetImeMenuItemsW ImmGetImeMenuItems; 462 +} else { 463 + alias ImmEnumRegisterWordA ImmEnumRegisterWord; 464 + alias ImmGetRegisterWordStyleA ImmGetRegisterWordStyle; 465 + alias ImmUnregisterWordA ImmUnregisterWord; 466 + alias ImmRegisterWordA ImmRegisterWord; 467 + alias ImmInstallIMEA ImmInstallIME; 468 + alias ImmIsUIMessageA ImmIsUIMessage; 469 + alias ImmGetConversionListA ImmGetConversionList; 470 + alias ImmEscapeA ImmEscape; 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; 481 + alias ImmGetImeMenuItemsW ImmGetImeMenuItems; 482 +}