Author: hbelusca
Date: Sun Jun 16 21:35:18 2013
New Revision: 59240

URL: http://svn.reactos.org/svn/reactos?rev=59240&view=rev
Log:
[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

Modified:
    trunk/reactos/dll/win32/kernel32/client/console/console.c
    trunk/reactos/include/psdk/wincon.h

Modified: trunk/reactos/dll/win32/kernel32/client/console/console.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/client/console/console.c?rev=59240&r1=59239&r2=59240&view=diff
==============================================================================
--- trunk/reactos/dll/win32/kernel32/client/console/console.c   [iso-8859-1] 
(original)
+++ trunk/reactos/dll/win32/kernel32/client/console/console.c   [iso-8859-1] 
Sun Jun 16 21:35:18 2013
@@ -346,12 +346,12 @@
  */
 DWORD
 WINAPI
-GetConsoleFontInfo(DWORD Unknown0,
-                   DWORD Unknown1,
-                   DWORD Unknown2,
-                   DWORD Unknown3)
-{
-    DPRINT1("GetConsoleFontInfo(0x%x, 0x%x, 0x%x, 0x%x) UNIMPLEMENTED!\n", 
Unknown0, Unknown1, Unknown2, Unknown3);
+GetConsoleFontInfo(HANDLE hConsoleOutput,
+                   BOOL bMaximumWindow,
+                   DWORD nFontCount,
+                   PCONSOLE_FONT_INFO lpConsoleFontInfo)
+{
+    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 @@
 /*
  * @unimplemented
  */
-INT
+BOOL
 WINAPI
 GetCurrentConsoleFont(HANDLE hConsoleOutput,
                       BOOL bMaximumWindow,
@@ -610,10 +610,10 @@
  */
 BOOL
 WINAPI
-SetConsoleFont(DWORD Unknown0,
-               DWORD Unknown1)
-{
-    DPRINT1("SetConsoleFont(0x%x, 0x%x) UNIMPLEMENTED!\n", Unknown0, Unknown1);
+SetConsoleFont(HANDLE hConsoleOutput,
+               DWORD nFont)
+{
+    DPRINT1("SetConsoleFont(0x%x, %d) UNIMPLEMENTED!\n", hConsoleOutput, 
nFont);
     SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
     return FALSE;
 }

Modified: trunk/reactos/include/psdk/wincon.h
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/wincon.h?rev=59240&r1=59239&r2=59240&view=diff
==============================================================================
--- trunk/reactos/include/psdk/wincon.h [iso-8859-1] (original)
+++ trunk/reactos/include/psdk/wincon.h [iso-8859-1] Sun Jun 16 21:35:18 2013
@@ -367,6 +367,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);


Reply via email to