[WINSRV] -Fix inline functions definitions
[reactos.git] / win32ss / user / winsrv / consrv / frontends / gui / guiterm.h
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS Console Server DLL
4 * FILE: win32ss/user/winsrv/consrv/frontends/gui/guiterm.h
5 * PURPOSE: GUI Terminal Front-End
6 * PROGRAMMERS: Gé van Geldorp
7 * Johannes Anderwald
8 * Jeffrey Morlan
9 * Hermes Belusca-Maito (hermes.belusca@sfr.fr)
10 */
11
12 #pragma once
13
14 #include "guisettings.h"
15 #include "conwnd.h"
16
17 FORCEINLINE
18 VOID
19 GetScreenBufferSizeUnits(IN PCONSOLE_SCREEN_BUFFER Buffer,
20 IN PGUI_CONSOLE_DATA GuiData,
21 OUT PUINT WidthUnit,
22 OUT PUINT HeightUnit)
23 {
24 ASSERT(Buffer && GuiData && WidthUnit && HeightUnit);
25
26 if (GetType(Buffer) == TEXTMODE_BUFFER)
27 {
28 *WidthUnit = GuiData->CharWidth ;
29 *HeightUnit = GuiData->CharHeight;
30 }
31 else /* if (GetType(Buffer) == GRAPHICS_BUFFER) */
32 {
33 *WidthUnit = 1;
34 *HeightUnit = 1;
35 }
36 }
37
38 FORCEINLINE
39 VOID
40 SmallRectToRect(PGUI_CONSOLE_DATA GuiData, PRECT Rect, PSMALL_RECT SmallRect)
41 {
42 PCONSOLE_SCREEN_BUFFER Buffer = GuiData->ActiveBuffer;
43 UINT WidthUnit, HeightUnit;
44
45 GetScreenBufferSizeUnits(Buffer, GuiData, &WidthUnit, &HeightUnit);
46
47 Rect->left = (SmallRect->Left - Buffer->ViewOrigin.X) * WidthUnit ;
48 Rect->top = (SmallRect->Top - Buffer->ViewOrigin.Y) * HeightUnit;
49 Rect->right = (SmallRect->Right + 1 - Buffer->ViewOrigin.X) * WidthUnit ;
50 Rect->bottom = (SmallRect->Bottom + 1 - Buffer->ViewOrigin.Y) * HeightUnit;
51 }
52
53 VOID
54 GuiConsoleMoveWindow(PGUI_CONSOLE_DATA GuiData);
55
56 VOID
57 SwitchFullScreen(PGUI_CONSOLE_DATA GuiData, BOOL FullScreen);
58
59 BOOL
60 InitFonts(PGUI_CONSOLE_DATA GuiData,
61 LPWSTR FaceName, // Points to a WCHAR array of LF_FACESIZE elements.
62 ULONG FontFamily,
63 COORD FontSize,
64 ULONG FontWeight);
65 VOID
66 DeleteFonts(PGUI_CONSOLE_DATA GuiData);