[KERNEL32]

- Change the argument types of both GetConsoleFontInfo() and SetConsoleFont() to be more complete. This research is based off of the examining of source code from the jockx-the-game project (licensed under a BSD license). Specifically, the files containing the functions are in both ConsoleFont.cpp and ConsoleFont.h:
  * http://code.google.com/p/jockx-the-game/source/browse/DamageCalc/ConsoleFont.cpp?r=a8ee04a8a8156de58754c4190f48435c32cfefaf
  * http://code.google.com/p/jockx-the-game/source/browse/DamageCalc/ConsoleFont.h?r=a8ee04a8a8156de58754c4190f48435c32cfefaf
- Since the code for jockx-the-game used a 0 for the boolean argument for GetConsoleFontInfo() in ConsoleFont.cpp, the patch creator currently doesn't know what the argument does exactly.
  **NOTE**: Using http://pages.videotron.com/lyra/PowerBASIC/ConsoleFont.html too, the patch committer (hbelusca) was able to deduce that the boolean has the same meaning as the bMaximumWindow parameter of the GetCurrentConsoleFont function (http://msdn.microsoft.com/en-us/library/windows/desktop/ms683176(v=vs.85).aspx).

Patch by Lee Schroeder, modified by me as explained above.
CORE-7015 #resolve #comment Committed in revision r, thanks :)

Extras:
- Fix the return type of GetCurrentConsoleFont
- Add both GetConsoleFontSize and GetCurrentConsoleFont prototypes (documented) to wincon.h

svn path=/trunk/; revision=59240
This commit is contained in:
Hermès Bélusca-Maïto 2013-06-16 21:35:18 +00:00
parent 97cd0c3833
commit 3e3200acef
2 changed files with 22 additions and 9 deletions

View file

@ -346,12 +346,12 @@ GetConsoleDisplayMode(LPDWORD lpModeFlags)
*/
DWORD
WINAPI
GetConsoleFontInfo(DWORD Unknown0,
DWORD Unknown1,
DWORD Unknown2,
DWORD Unknown3)
GetConsoleFontInfo(HANDLE hConsoleOutput,
BOOL bMaximumWindow,
DWORD nFontCount,
PCONSOLE_FONT_INFO lpConsoleFontInfo)
{
DPRINT1("GetConsoleFontInfo(0x%x, 0x%x, 0x%x, 0x%x) UNIMPLEMENTED!\n", Unknown0, Unknown1, Unknown2, Unknown3);
DPRINT1("GetConsoleFontInfo(0x%x, %d, %d, 0x%x) UNIMPLEMENTED!\n", hConsoleOutput, bMaximumWindow, nFontCount, lpConsoleFontInfo);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return 0;
}
@ -424,7 +424,7 @@ GetConsoleInputWaitHandle(VOID)
/*
* @unimplemented
*/
INT
BOOL
WINAPI
GetCurrentConsoleFont(HANDLE hConsoleOutput,
BOOL bMaximumWindow,
@ -610,10 +610,10 @@ SetConsoleDisplayMode(HANDLE hConsoleOutput,
*/
BOOL
WINAPI
SetConsoleFont(DWORD Unknown0,
DWORD Unknown1)
SetConsoleFont(HANDLE hConsoleOutput,
DWORD nFont)
{
DPRINT1("SetConsoleFont(0x%x, 0x%x) UNIMPLEMENTED!\n", Unknown0, Unknown1);
DPRINT1("SetConsoleFont(0x%x, %d) UNIMPLEMENTED!\n", hConsoleOutput, nFont);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}

View file

@ -368,6 +368,19 @@ GetConsoleTitleW(
_Out_writes_(nSize) LPWSTR lpConsoleTitle,
_In_ DWORD nSize);
COORD
WINAPI
GetConsoleFontSize(
_In_ HANDLE hConsoleOutput,
_In_ DWORD nFont);
BOOL
WINAPI
GetCurrentConsoleFont(
_In_ HANDLE hConsoleOutput,
_In_ BOOL bMaximumWindow,
_Out_ PCONSOLE_FONT_INFO lpConsoleCurrentFont);
#if (_WIN32_WINNT >= 0x0500)
HWND WINAPI GetConsoleWindow(VOID);
BOOL APIENTRY GetConsoleDisplayMode(_Out_ LPDWORD lpModeFlags);