From 4925f75869f577849d5f35d5b654c7680f8932cd Mon Sep 17 00:00:00 2001 From: Hugh McMaster Date: Thu, 29 Oct 2015 23:17:21 +1100 Subject: [PATCH] kernel32: Implement GetConsoleFontSize. Signed-off-by: Hugh McMaster Signed-off-by: Alexandre Julliard --- dlls/kernel32/console.c | 41 ++++++++++++++++++++++++++++------------- 1 file changed, 28 insertions(+), 13 deletions(-) diff --git a/dlls/kernel32/console.c b/dlls/kernel32/console.c index 67627cc9ba9..d4c4a0597f5 100644 --- a/dlls/kernel32/console.c +++ b/dlls/kernel32/console.c @@ -3265,32 +3265,47 @@ BOOL WINAPI GetCurrentConsoleFont(HANDLE hConsole, BOOL maxwindow, LPCONSOLE_FON return ret; } +static COORD get_console_font_size(HANDLE hConsole, DWORD index) +{ + COORD c = {0,0}; + + if (index >= GetNumberOfConsoleFonts()) + { + SetLastError(ERROR_INVALID_PARAMETER); + return c; + } + + SERVER_START_REQ(get_console_output_info) + { + req->handle = console_handle_unmap(hConsole); + if (!wine_server_call_err(req)) + { + c.X = reply->font_width; + c.Y = reply->font_height; + } + } + SERVER_END_REQ; + return c; +} + #ifdef __i386__ #undef GetConsoleFontSize -DWORD WINAPI GetConsoleFontSize(HANDLE hConsole, DWORD font) +DWORD WINAPI GetConsoleFontSize(HANDLE hConsole, DWORD index) { 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; + x.c = get_console_font_size(hConsole, index); return x.w; } #endif /* defined(__i386__) */ #ifndef __i386__ -COORD WINAPI GetConsoleFontSize(HANDLE hConsole, DWORD font) +COORD WINAPI GetConsoleFontSize(HANDLE hConsole, DWORD index) { - COORD c; - c.X = 80; - c.Y = 24; - FIXME(": (%p, %d) stub!\n", hConsole, font); - return c; + return get_console_font_size(hConsole, index); } -#endif /* defined(__i386__) */ +#endif /* !defined(__i386__) */