https://git.reactos.org/?p=reactos.git;a=commitdiff;h=6429bfcd8f8fe1dd6ca836...
commit 6429bfcd8f8fe1dd6ca836421f723a139f0fea78 Author: Amine Khaldi amine.khaldi@reactos.org AuthorDate: Fri Dec 8 23:04:48 2017 +0100
[CONSRV] Deduplicate GetScreenBufferSizeUnits(), SmallRectToRect() and ConsoleInput. Rename ConsoleList and InsertConsole(). #179 --- win32ss/user/winsrv/consrv/condrv/coninput.c | 9 ------ win32ss/user/winsrv/consrv/condrv/console.c | 10 +++--- win32ss/user/winsrv/consrv/consrv.h | 5 +++ win32ss/user/winsrv/consrv/frontends/gui/conwnd.c | 37 ---------------------- win32ss/user/winsrv/consrv/frontends/gui/guiterm.c | 21 ------------ win32ss/user/winsrv/consrv/frontends/gui/guiterm.h | 36 +++++++++++++++++++++ win32ss/user/winsrv/consrv/frontends/terminal.c | 7 ---- 7 files changed, 46 insertions(+), 79 deletions(-)
diff --git a/win32ss/user/winsrv/consrv/condrv/coninput.c b/win32ss/user/winsrv/consrv/condrv/coninput.c index 393c9af365..e3894d8a54 100644 --- a/win32ss/user/winsrv/consrv/condrv/coninput.c +++ b/win32ss/user/winsrv/consrv/condrv/coninput.c @@ -14,15 +14,6 @@ #define NDEBUG #include <debug.h>
-/* GLOBALS ********************************************************************/ - -typedef struct ConsoleInput_t -{ - LIST_ENTRY ListEntry; - INPUT_RECORD InputEvent; -} ConsoleInput; - - /* PRIVATE FUNCTIONS **********************************************************/
// ConDrvAddInputEvents diff --git a/win32ss/user/winsrv/consrv/condrv/console.c b/win32ss/user/winsrv/consrv/condrv/console.c index df0f4118bf..d088f317eb 100644 --- a/win32ss/user/winsrv/consrv/condrv/console.c +++ b/win32ss/user/winsrv/consrv/condrv/console.c @@ -23,7 +23,7 @@ static ULONG CurrentConsoleID = 0;
/* Linked list of consoles */ -static LIST_ENTRY ConsoleList; +static LIST_ENTRY ConDrvConsoleList; static RTL_RESOURCE ListLock;
#define ConDrvLockConsoleListExclusive() \ @@ -37,7 +37,7 @@ static RTL_RESOURCE ListLock;
static NTSTATUS -InsertConsole(IN PCONSOLE Console) +ConDrvInsertConsole(IN PCONSOLE Console) { ASSERT(Console);
@@ -45,7 +45,7 @@ InsertConsole(IN PCONSOLE Console) ConDrvLockConsoleListExclusive();
DPRINT("Insert in the list\n"); - InsertTailList(&ConsoleList, &Console->ListEntry); + InsertTailList(&ConDrvConsoleList, &Console->ListEntry);
// FIXME: Move this code to the caller function!! /* Get a new console ID */ @@ -152,7 +152,7 @@ ConDrvInitConsoleSupport(VOID) DPRINT("CONSRV: ConDrvInitConsoleSupport()\n");
/* Initialize the console list and its lock */ - InitializeListHead(&ConsoleList); + InitializeListHead(&ConDrvConsoleList); RtlInitializeResource(&ListLock); }
@@ -248,7 +248,7 @@ ConDrvInitConsole(OUT PCONSOLE* NewConsole, DPRINT("Console initialized\n");
/* All went right, so add the console to the list */ - Status = InsertConsole(Console); + Status = ConDrvInsertConsole(Console); if (!NT_SUCCESS(Status)) { /* Fail */ diff --git a/win32ss/user/winsrv/consrv/consrv.h b/win32ss/user/winsrv/consrv/consrv.h index c17573e8e0..4ea7d2ee17 100644 --- a/win32ss/user/winsrv/consrv/consrv.h +++ b/win32ss/user/winsrv/consrv/consrv.h @@ -54,6 +54,11 @@ typedef struct _CONSOLE_PROCESS_DATA // LPTHREAD_START_ROUTINE ImeRoutine; } CONSOLE_PROCESS_DATA, *PCONSOLE_PROCESS_DATA;
+typedef struct ConsoleInput_t +{ + LIST_ENTRY ListEntry; + INPUT_RECORD InputEvent; +} ConsoleInput;
// Helper for code refactoring // #define USE_NEW_CONSOLE_WAY diff --git a/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c b/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c index 6058956599..860244f6c5 100644 --- a/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c +++ b/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c @@ -20,7 +20,6 @@
#include "font.h" #include "guiterm.h" -#include "conwnd.h" #include "resource.h"
/* GLOBALS ********************************************************************/ @@ -172,28 +171,6 @@ UnRegisterConWndClass(HINSTANCE hInstance) return !!UnregisterClassW(GUI_CONWND_CLASS, hInstance); }
- -/* NOTE: Also used in guiterm.c */ -/* static */ VOID -GetScreenBufferSizeUnits(IN PCONSOLE_SCREEN_BUFFER Buffer, - IN PGUI_CONSOLE_DATA GuiData, - OUT PUINT WidthUnit, - OUT PUINT HeightUnit) -{ - ASSERT(Buffer && GuiData && WidthUnit && HeightUnit); - - if (GetType(Buffer) == TEXTMODE_BUFFER) - { - *WidthUnit = GuiData->CharWidth ; - *HeightUnit = GuiData->CharHeight; - } - else /* if (GetType(Buffer) == GRAPHICS_BUFFER) */ - { - *WidthUnit = 1; - *HeightUnit = 1; - } -} - static VOID AppendMenuItems(HMENU hMenu, const GUICONSOLE_MENUITEM *Items) @@ -742,20 +719,6 @@ OnFocus(PGUI_CONSOLE_DATA GuiData, BOOL SetFocus) DPRINT("TODO: Destroy console caret\n"); }
-static VOID -SmallRectToRect(PGUI_CONSOLE_DATA GuiData, PRECT Rect, PSMALL_RECT SmallRect) -{ - PCONSOLE_SCREEN_BUFFER Buffer = GuiData->ActiveBuffer; - UINT WidthUnit, HeightUnit; - - GetScreenBufferSizeUnits(Buffer, GuiData, &WidthUnit, &HeightUnit); - - Rect->left = (SmallRect->Left - Buffer->ViewOrigin.X) * WidthUnit ; - Rect->top = (SmallRect->Top - Buffer->ViewOrigin.Y) * HeightUnit; - Rect->right = (SmallRect->Right + 1 - Buffer->ViewOrigin.X) * WidthUnit ; - Rect->bottom = (SmallRect->Bottom + 1 - Buffer->ViewOrigin.Y) * HeightUnit; -} - VOID GetSelectionBeginEnd(PCOORD Begin, PCOORD End, PCOORD SelectionAnchor, diff --git a/win32ss/user/winsrv/consrv/frontends/gui/guiterm.c b/win32ss/user/winsrv/consrv/frontends/gui/guiterm.c index 1258b792f8..c3e14d3099 100644 --- a/win32ss/user/winsrv/consrv/frontends/gui/guiterm.c +++ b/win32ss/user/winsrv/consrv/frontends/gui/guiterm.c @@ -56,13 +56,6 @@ UnRegisterConWndClass(HINSTANCE hInstance);
/* FUNCTIONS ******************************************************************/
-/* NOTE: Defined in conwnd.c */ -VOID -GetScreenBufferSizeUnits(IN PCONSOLE_SCREEN_BUFFER Buffer, - IN PGUI_CONSOLE_DATA GuiData, - OUT PUINT WidthUnit, - OUT PUINT HeightUnit); - VOID GuiConsoleMoveWindow(PGUI_CONSOLE_DATA GuiData) { @@ -78,20 +71,6 @@ GuiConsoleMoveWindow(PGUI_CONSOLE_DATA GuiData) } }
-static VOID -SmallRectToRect(PGUI_CONSOLE_DATA GuiData, PRECT Rect, PSMALL_RECT SmallRect) -{ - PCONSOLE_SCREEN_BUFFER Buffer = GuiData->ActiveBuffer; - UINT WidthUnit, HeightUnit; - - GetScreenBufferSizeUnits(Buffer, GuiData, &WidthUnit, &HeightUnit); - - Rect->left = (SmallRect->Left - Buffer->ViewOrigin.X) * WidthUnit ; - Rect->top = (SmallRect->Top - Buffer->ViewOrigin.Y) * HeightUnit; - Rect->right = (SmallRect->Right + 1 - Buffer->ViewOrigin.X) * WidthUnit ; - Rect->bottom = (SmallRect->Bottom + 1 - Buffer->ViewOrigin.Y) * HeightUnit; -} - static VOID DrawRegion(PGUI_CONSOLE_DATA GuiData, SMALL_RECT* Region) diff --git a/win32ss/user/winsrv/consrv/frontends/gui/guiterm.h b/win32ss/user/winsrv/consrv/frontends/gui/guiterm.h index 3b252afdb3..627237237d 100644 --- a/win32ss/user/winsrv/consrv/frontends/gui/guiterm.h +++ b/win32ss/user/winsrv/consrv/frontends/gui/guiterm.h @@ -14,6 +14,42 @@ #include "guisettings.h" #include "conwnd.h"
+extern inline +VOID +GetScreenBufferSizeUnits(IN PCONSOLE_SCREEN_BUFFER Buffer, + IN PGUI_CONSOLE_DATA GuiData, + OUT PUINT WidthUnit, + OUT PUINT HeightUnit) +{ + ASSERT(Buffer && GuiData && WidthUnit && HeightUnit); + + if (GetType(Buffer) == TEXTMODE_BUFFER) + { + *WidthUnit = GuiData->CharWidth ; + *HeightUnit = GuiData->CharHeight; + } + else /* if (GetType(Buffer) == GRAPHICS_BUFFER) */ + { + *WidthUnit = 1; + *HeightUnit = 1; + } +} + +extern inline +VOID +SmallRectToRect(PGUI_CONSOLE_DATA GuiData, PRECT Rect, PSMALL_RECT SmallRect) +{ + PCONSOLE_SCREEN_BUFFER Buffer = GuiData->ActiveBuffer; + UINT WidthUnit, HeightUnit; + + GetScreenBufferSizeUnits(Buffer, GuiData, &WidthUnit, &HeightUnit); + + Rect->left = (SmallRect->Left - Buffer->ViewOrigin.X) * WidthUnit ; + Rect->top = (SmallRect->Top - Buffer->ViewOrigin.Y) * HeightUnit; + Rect->right = (SmallRect->Right + 1 - Buffer->ViewOrigin.X) * WidthUnit ; + Rect->bottom = (SmallRect->Bottom + 1 - Buffer->ViewOrigin.Y) * HeightUnit; +} + VOID GuiConsoleMoveWindow(PGUI_CONSOLE_DATA GuiData);
diff --git a/win32ss/user/winsrv/consrv/frontends/terminal.c b/win32ss/user/winsrv/consrv/frontends/terminal.c index 49f2d1fe3a..d4f380ba3e 100644 --- a/win32ss/user/winsrv/consrv/frontends/terminal.c +++ b/win32ss/user/winsrv/consrv/frontends/terminal.c @@ -40,13 +40,6 @@ ASSERT((ULONG_PTR)dWChar != (ULONG_PTR)sChar); \ MultiByteToWideChar((Console)->InputCodePage, 0, (sChar), 1, (dWChar), 1)
-typedef struct ConsoleInput_t -{ - LIST_ENTRY ListEntry; - INPUT_RECORD InputEvent; -} ConsoleInput; - - /* PRIVATE FUNCTIONS **********************************************************/
#if 0