Differences From 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]
To Artifact [04daf8e31397c587]:
- File
src/win32/imm.d
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
The problem was __gshared. Replacing it with TLS fixed the issue. Remaining problem is that "hack.d"'s CloseHandle hack is not working anymore.
(user: kinaba) [annotate]
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
4 * Windows API header module * 4 * Windows API header module *
5 * * 5 * *
6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers *
7 * * 7 * *
8 * Placed into public domain * 8 * Placed into public domain *
9 \***********************************************************************/ 9 \***********************************************************************/
10 module win32.imm; 10 module win32.imm;
11 pragma(lib, "imm32.lib"); | 11 pragma(lib, "imm32");
12 12
13 import win32.windef, win32.wingdi; 13 import win32.windef, win32.wingdi;
14 import win32.winuser; // for the MFS_xxx enums. 14 import win32.winuser; // for the MFS_xxx enums.
15 private import win32.w32api; 15 private import win32.w32api;
16 16
17 const WM_CONVERTREQUESTEX = 0x108; 17 const WM_CONVERTREQUESTEX = 0x108;
18 const WM_IME_STARTCOMPOSITION = 0x10D; 18 const WM_IME_STARTCOMPOSITION = 0x10D;
................................................................................................................................................................................
21 const WM_IME_KEYLAST = 0x10F; 21 const WM_IME_KEYLAST = 0x10F;
22 const WM_IME_SETCONTEXT = 0x281; 22 const WM_IME_SETCONTEXT = 0x281;
23 const WM_IME_NOTIFY = 0x282; 23 const WM_IME_NOTIFY = 0x282;
24 const WM_IME_CONTROL = 0x283; 24 const WM_IME_CONTROL = 0x283;
25 const WM_IME_COMPOSITIONFULL = 0x284; 25 const WM_IME_COMPOSITIONFULL = 0x284;
26 const WM_IME_SELECT = 0x285; 26 const WM_IME_SELECT = 0x285;
27 const WM_IME_CHAR = 0x286; 27 const WM_IME_CHAR = 0x286;
28 static if (WINVER >= 0x500) { | 28 static if (_WIN32_WINNT >= 0x500) {
29 const WM_IME_REQUEST = 0x288; 29 const WM_IME_REQUEST = 0x288;
30 } 30 }
31 const WM_IME_KEYDOWN = 0x290; 31 const WM_IME_KEYDOWN = 0x290;
32 const WM_IME_KEYUP = 0x291; 32 const WM_IME_KEYUP = 0x291;
33 33
34 34
35 const IMC_GETCANDIDATEPOS=7; 35 const IMC_GETCANDIDATEPOS=7;
................................................................................................................................................................................
296 struct CANDIDATELIST{ 296 struct CANDIDATELIST{
297 DWORD dwSize; 297 DWORD dwSize;
298 DWORD dwStyle; 298 DWORD dwStyle;
299 DWORD dwCount; 299 DWORD dwCount;
300 DWORD dwSelection; 300 DWORD dwSelection;
301 DWORD dwPageStart; 301 DWORD dwPageStart;
302 DWORD dwPageSize; 302 DWORD dwPageSize;
303 DWORD dwOffset[1]; | 303 DWORD[1] dwOffset;
304 } 304 }
305 alias CANDIDATELIST* PCANDIDATELIST, LPCANDIDATELIST; 305 alias CANDIDATELIST* PCANDIDATELIST, LPCANDIDATELIST;
306 306
307 struct REGISTERWORDA{ 307 struct REGISTERWORDA{
308 LPSTR lpReading; 308 LPSTR lpReading;
309 LPSTR lpWord; 309 LPSTR lpWord;
310 } 310 }
................................................................................................................................................................................
314 LPWSTR lpReading; 314 LPWSTR lpReading;
315 LPWSTR lpWord; 315 LPWSTR lpWord;
316 } 316 }
317 alias REGISTERWORDW* PREGISTERWORDW, LPREGISTERWORDW; 317 alias REGISTERWORDW* PREGISTERWORDW, LPREGISTERWORDW;
318 318
319 struct STYLEBUFA{ 319 struct STYLEBUFA{
320 DWORD dwStyle; 320 DWORD dwStyle;
321 CHAR szDescription[STYLE_DESCRIPTION_SIZE]; | 321 CHAR[STYLE_DESCRIPTION_SIZE] szDescription;
322 } 322 }
323 alias STYLEBUFA* PSTYLEBUFA, LPSTYLEBUFA; 323 alias STYLEBUFA* PSTYLEBUFA, LPSTYLEBUFA;
324 324
325 struct STYLEBUFW{ 325 struct STYLEBUFW{
326 DWORD dwStyle; 326 DWORD dwStyle;
327 WCHAR szDescription[STYLE_DESCRIPTION_SIZE]; | 327 WCHAR[STYLE_DESCRIPTION_SIZE] szDescription;
328 } 328 }
329 alias STYLEBUFW* PSTYLEBUFW, LPSTYLEBUFW; 329 alias STYLEBUFW* PSTYLEBUFW, LPSTYLEBUFW;
330 330
331 struct IMEMENUITEMINFOA{ 331 struct IMEMENUITEMINFOA{
332 UINT cbSize = this.sizeof; 332 UINT cbSize = this.sizeof;
333 UINT fType; 333 UINT fType;
334 UINT fState; 334 UINT fState;
335 UINT wID; 335 UINT wID;
336 HBITMAP hbmpChecked; 336 HBITMAP hbmpChecked;
337 HBITMAP hbmpUnchecked; 337 HBITMAP hbmpUnchecked;
338 DWORD dwItemData; 338 DWORD dwItemData;
339 CHAR szString[IMEMENUITEM_STRING_SIZE]; | 339 CHAR[IMEMENUITEM_STRING_SIZE] szString;
340 HBITMAP hbmpItem; 340 HBITMAP hbmpItem;
341 } 341 }
342 alias IMEMENUITEMINFOA* PIMEMENUITEMINFOA, LPIMEMENUITEMINFOA; 342 alias IMEMENUITEMINFOA* PIMEMENUITEMINFOA, LPIMEMENUITEMINFOA;
343 343
344 struct IMEMENUITEMINFOW{ 344 struct IMEMENUITEMINFOW{
345 UINT cbSize = this.sizeof; 345 UINT cbSize = this.sizeof;
346 UINT fType; 346 UINT fType;
347 UINT fState; 347 UINT fState;
348 UINT wID; 348 UINT wID;
349 HBITMAP hbmpChecked; 349 HBITMAP hbmpChecked;
350 HBITMAP hbmpUnchecked; 350 HBITMAP hbmpUnchecked;
351 DWORD dwItemData; 351 DWORD dwItemData;
352 WCHAR szString[IMEMENUITEM_STRING_SIZE]; | 352 WCHAR[IMEMENUITEM_STRING_SIZE] szString;
353 HBITMAP hbmpItem; 353 HBITMAP hbmpItem;
354 } 354 }
355 alias IMEMENUITEMINFOW* PIMEMENUITEMINFOW, LPIMEMENUITEMINFOW; 355 alias IMEMENUITEMINFOW* PIMEMENUITEMINFOW, LPIMEMENUITEMINFOW;
356 356
357 alias int function (LPCSTR, DWORD, LPCSTR, LPVOID) REGISTERWORDENUMPROCA; 357 alias int function (LPCSTR, DWORD, LPCSTR, LPVOID) REGISTERWORDENUMPROCA;
358 alias int function (LPCWSTR, DWORD, LPCWSTR, LPVOID) REGISTERWORDENUMPROCW; 358 alias int function (LPCWSTR, DWORD, LPCWSTR, LPVOID) REGISTERWORDENUMPROCW;
359 359