diff --git a/dlls/kernel32/console.c b/dlls/kernel32/console.c index 1881bac5b32..d6d1414538b 100644 --- a/dlls/kernel32/console.c +++ b/dlls/kernel32/console.c @@ -3230,5 +3230,34 @@ BOOL WINAPI GetCurrentConsoleFont(HANDLE hConsole, BOOL maxwindow, LPCONSOLE_FON FIXME(": (%p, %d, %p) stub!\n", hConsole, maxwindow, fontinfo); SetLastError(ERROR_CALL_NOT_IMPLEMENTED); return FALSE; - } + +#ifdef __i386__ +#undef GetConsoleFontSize +DWORD WINAPI GetConsoleFontSize(HANDLE hConsole, DWORD font) +{ + union { + COORD c; + DWORD w; + } x; + + FIXME(": (%p, %d) stub!\n", hConsole, font); + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + + x.c.X = 0; + x.c.Y = 0; + return x.w; +} +#endif /* defined(__i386__) */ + + +#ifndef __i386__ +COORD WINAPI GetConsoleFontSize(HANDLE hConsole, DWORD font) +{ + COORD c; + c.X = 80; + c.Y = 24; + FIXME(": (%p, %d) stub!\n", hConsole, font); + return c; +} +#endif /* defined(__i386__) */ diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec index b2638189b28..f9f86858f05 100644 --- a/dlls/kernel32/kernel32.spec +++ b/dlls/kernel32/kernel32.spec @@ -475,7 +475,7 @@ @ stub GetConsoleCursorMode @ stdcall GetConsoleDisplayMode(ptr) @ stub GetConsoleFontInfo -@ stub GetConsoleFontSize +@ stdcall GetConsoleFontSize(long long) @ stub GetConsoleHardwareState @ stdcall GetConsoleInputExeNameA(long ptr) @ stdcall GetConsoleInputExeNameW(long ptr) diff --git a/include/wincon.h b/include/wincon.h index 1cf94287d6a..3418856c4ef 100644 --- a/include/wincon.h +++ b/include/wincon.h @@ -268,8 +268,21 @@ typedef struct tagINPUT_RECORD #ifdef __i386__ /* Note: this should return a COORD, but calling convention for returning * structures is different between Windows and gcc on i386. */ + +WINBASEAPI DWORD WINAPI GetConsoleFontSize(HANDLE, DWORD); WINBASEAPI DWORD WINAPI GetLargestConsoleWindowSize(HANDLE); +static inline COORD __wine_GetConsoleFontSize_wrapper(HANDLE h, DWORD d) +{ + union { + COORD c; + DWORD dw; + } u; + u.dw = GetConsoleFontSize(h, d); + return u.c; +} +#define GetConsoleFontSize(h, d) __wine_GetConsoleFontSize_wrapper(h, d) + static inline COORD __wine_GetLargestConsoleWindowSize_wrapper(HANDLE h) { union { @@ -282,6 +295,7 @@ static inline COORD __wine_GetLargestConsoleWindowSize_wrapper(HANDLE h) #define GetLargestConsoleWindowSize(h) __wine_GetLargestConsoleWindowSize_wrapper(h) #else /* __i386__ */ +WINBASEAPI COORD WINAPI GetConsoleFontSize(HANDLE, DWORD); WINBASEAPI COORD WINAPI GetLargestConsoleWindowSize(HANDLE); #endif /* __i386__ */ @@ -316,7 +330,6 @@ WINBASEAPI DWORD WINAPI GetConsoleAliasExesLengthW(VOID); WINBASEAPI UINT WINAPI GetConsoleCP(VOID); WINBASEAPI BOOL WINAPI GetConsoleCursorInfo( HANDLE,LPCONSOLE_CURSOR_INFO); WINBASEAPI BOOL WINAPI GetConsoleDisplayMode(LPDWORD); -WINBASEAPI COORD WINAPI GetConsoleFontSize(HANDLE,DWORD); WINBASEAPI BOOL WINAPI GetConsoleHistoryInfo(LPCONSOLE_HISTORY_INFO); WINBASEAPI BOOL WINAPI GetConsoleInputExeNameA(DWORD,LPSTR); WINBASEAPI BOOL WINAPI GetConsoleInputExeNameW(DWORD,LPWSTR);