From 52ff7a58319f0414b7e77f9fa74d9b627a80826c Mon Sep 17 00:00:00 2001 From: Hugh McMaster Date: Tue, 1 Oct 2013 20:22:12 +1000 Subject: csbix-kernel32 --- dlls/kernel32/console.c | 41 +++++++++++++++++++++++++++++++++++++++++ dlls/kernel32/kernel32.spec | 1 + 2 files changed, 42 insertions(+) diff --git a/dlls/kernel32/console.c b/dlls/kernel32/console.c index 9f2f528..faca758 100644 --- a/dlls/kernel32/console.c +++ b/dlls/kernel32/console.c @@ -2153,6 +2153,47 @@ BOOL WINAPI GetConsoleScreenBufferInfo(HANDLE hConsoleOutput, LPCONSOLE_SCREEN_B return ret; } +/*********************************************************************** + * GetConsoleScreenBufferInfoEx (KERNEL32.@) + */ +BOOL WINAPI GetConsoleScreenBufferInfoEx(HANDLE hConOut, LPCONSOLE_SCREEN_BUFFER_INFOEX csbix) +{ + BOOL ret; + CONSOLE_SCREEN_BUFFER_INFO csbi; + int i; + + if (csbix->cbSize != sizeof(CONSOLE_SCREEN_BUFFER_INFOEX)) return FALSE; + + GetConsoleScreenBufferInfo(hConOut, &csbi); + csbix->dwSize.X = csbi.dwSize.X; + csbix->dwSize.Y = csbi.dwSize.Y; + csbix->dwCursorPosition.X = csbi.dwCursorPosition.X; + csbix->dwCursorPosition.Y = csbi.dwCursorPosition.Y; + csbix->wAttributes = csbi.wAttributes; + csbix->srWindow.Left = csbi.srWindow.Left; + csbix->srWindow.Right = csbi.srWindow.Right; + csbix->srWindow.Top = csbi.srWindow.Top; + csbix->srWindow.Bottom = csbi.srWindow.Bottom; + csbix->dwMaximumWindowSize.X = csbi.dwMaximumWindowSize.X; + csbix->dwMaximumWindowSize.Y = csbi.dwMaximumWindowSize.Y; + + SERVER_START_REQ(get_console_output_infoex) + { + req->handle = console_handle_unmap(hConOut); + if ((ret = !wine_server_call_err( req ))) + { + csbix->wPopupAttributes = reply->popup_attr; + csbix->bFullscreenSupported = reply->fullscreen; + for (i=0;i<16;i++) + { + csbix->ColorTable[i] = reply->colortable.ct[i]; + } + } + } + SERVER_END_REQ; + + return ret; +} /****************************************************************************** * SetConsoleActiveScreenBuffer [KERNEL32.@] Sets buffer to current console diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec index 08b225f..6740940 100644 --- a/dlls/kernel32/kernel32.spec +++ b/dlls/kernel32/kernel32.spec @@ -489,6 +489,7 @@ @ stdcall GetConsoleOutputCP() @ stdcall GetConsoleProcessList(ptr long) @ stdcall GetConsoleScreenBufferInfo(long ptr) +@ stdcall GetConsoleScreenBufferInfoEx(long ptr) # @ stub GetConsoleSelectionInfo @ stdcall GetConsoleTitleA(ptr long) @ stdcall GetConsoleTitleW(ptr long) -- 1.7.10.4