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