Differences From Artifact [a1d2dfcf9ddedace]:
- File
src/win32/wincon.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 [418f11163a21e063]:
- File
src/win32/wincon.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.wincon;
11 -pragma(lib, "kernel32.lib");
11 +pragma(lib, "kernel32");
12 12
13 13 private import win32.w32api, win32.windef;
14 14
15 15 // FIXME: clean up Windows version support
16 16
17 17 enum {
18 18 FOREGROUND_BLUE = 1,
................................................................................
21 21 FOREGROUND_INTENSITY = 8,
22 22 BACKGROUND_BLUE = 16,
23 23 BACKGROUND_GREEN = 32,
24 24 BACKGROUND_RED = 64,
25 25 BACKGROUND_INTENSITY = 128
26 26 }
27 27
28 -static if (_WIN32_WINNT >= 0x0501) {
28 +static if (_WIN32_WINNT >= 0x501) {
29 29 enum {
30 30 CONSOLE_FULLSCREEN_MODE = 1,
31 31 CONSOLE_WINDOWED_MODE = 0
32 32 }
33 33 }
34 34
35 35 enum {
................................................................................
205 205 BOOL ReadConsoleInputA(HANDLE, PINPUT_RECORD, DWORD, PDWORD);
206 206 BOOL ReadConsoleInputW(HANDLE, PINPUT_RECORD, DWORD, PDWORD);
207 207 BOOL ReadConsoleOutputAttribute(HANDLE, LPWORD, DWORD, COORD, LPDWORD);
208 208 BOOL ReadConsoleOutputCharacterA(HANDLE, LPSTR, DWORD, COORD, PDWORD);
209 209 BOOL ReadConsoleOutputCharacterW(HANDLE, LPWSTR, DWORD, COORD, PDWORD);
210 210 BOOL ReadConsoleOutputA(HANDLE, PCHAR_INFO, COORD, COORD, PSMALL_RECT);
211 211 BOOL ReadConsoleOutputW(HANDLE, PCHAR_INFO, COORD, COORD, PSMALL_RECT);
212 -BOOL ScrollConsoleScreenBufferA(HANDLE, CPtr!(SMALL_RECT), CPtr!(SMALL_RECT), COORD, CPtr!(CHAR_INFO));
213 -BOOL ScrollConsoleScreenBufferW(HANDLE, CPtr!(SMALL_RECT), CPtr!(SMALL_RECT), COORD, CPtr!(CHAR_INFO));
212 +BOOL ScrollConsoleScreenBufferA(HANDLE, const(SMALL_RECT)*, const(SMALL_RECT)*, COORD, const(CHAR_INFO)*);
213 +BOOL ScrollConsoleScreenBufferW(HANDLE, const(SMALL_RECT)*, const(SMALL_RECT)*, COORD, const(CHAR_INFO)*);
214 214 BOOL SetConsoleActiveScreenBuffer(HANDLE);
215 215 BOOL SetConsoleCP(UINT);
216 216 BOOL SetConsoleCtrlHandler(PHANDLER_ROUTINE, BOOL);
217 -BOOL SetConsoleCursorInfo(HANDLE, CPtr!(CONSOLE_CURSOR_INFO));
217 +BOOL SetConsoleCursorInfo(HANDLE, const(CONSOLE_CURSOR_INFO)*);
218 218 BOOL SetConsoleCursorPosition(HANDLE, COORD);
219 219
220 220
221 -static if (_WIN32_WINNT >= 0x0500) {
221 +static if (_WIN32_WINNT >= 0x500) {
222 222 BOOL GetConsoleDisplayMode(LPDWORD);
223 223 HWND GetConsoleWindow();
224 224 }
225 225
226 -static if (_WIN32_WINNT >= 0x0501) {
226 +static if (_WIN32_WINNT >= 0x501) {
227 227 BOOL AttachConsole(DWORD);
228 228 BOOL SetConsoleDisplayMode(HANDLE, DWORD, PCOORD);
229 229 const DWORD ATTACH_PARENT_PROCESS = cast(DWORD)-1;
230 230 }
231 231
232 232 BOOL SetConsoleMode(HANDLE, DWORD);
233 233 BOOL SetConsoleOutputCP(UINT);
234 234 BOOL SetConsoleScreenBufferSize(HANDLE, COORD);
235 235 BOOL SetConsoleTextAttribute(HANDLE, WORD);
236 236 BOOL SetConsoleTitleA(LPCSTR);
237 237 BOOL SetConsoleTitleW(LPCWSTR);
238 -BOOL SetConsoleWindowInfo(HANDLE, BOOL, CPtr!(SMALL_RECT));
238 +BOOL SetConsoleWindowInfo(HANDLE, BOOL, const(SMALL_RECT)*);
239 239 BOOL WriteConsoleA(HANDLE, PCVOID, DWORD, PDWORD, PVOID);
240 240 BOOL WriteConsoleW(HANDLE, PCVOID, DWORD, PDWORD, PVOID);
241 -BOOL WriteConsoleInputA(HANDLE, CPtr!(INPUT_RECORD), DWORD, PDWORD);
242 -BOOL WriteConsoleInputW(HANDLE, CPtr!(INPUT_RECORD), DWORD, PDWORD);
243 -BOOL WriteConsoleOutputA(HANDLE, CPtr!(CHAR_INFO), COORD, COORD, PSMALL_RECT);
244 -BOOL WriteConsoleOutputW(HANDLE, CPtr!(CHAR_INFO), COORD, COORD, PSMALL_RECT);
245 -BOOL WriteConsoleOutputAttribute(HANDLE, CPtr!(WORD), DWORD, COORD, PDWORD);
241 +BOOL WriteConsoleInputA(HANDLE, const(INPUT_RECORD)*, DWORD, PDWORD);
242 +BOOL WriteConsoleInputW(HANDLE, const(INPUT_RECORD)*, DWORD, PDWORD);
243 +BOOL WriteConsoleOutputA(HANDLE, const(CHAR_INFO)*, COORD, COORD, PSMALL_RECT);
244 +BOOL WriteConsoleOutputW(HANDLE, const(CHAR_INFO)*, COORD, COORD, PSMALL_RECT);
245 +BOOL WriteConsoleOutputAttribute(HANDLE, const(WORD)*, DWORD, COORD, PDWORD);
246 246 BOOL WriteConsoleOutputCharacterA(HANDLE, LPCSTR, DWORD, COORD, PDWORD);
247 247 BOOL WriteConsoleOutputCharacterW(HANDLE, LPCWSTR, DWORD, COORD, PDWORD);
248 248
249 249 version (Unicode) {
250 250 alias FillConsoleOutputCharacterW FillConsoleOutputCharacter;
251 251 alias GetConsoleTitleW GetConsoleTitle;
252 252 alias PeekConsoleInputW PeekConsoleInput;