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
9 * Hermes Belusca-Maito (hermes.belusca@sfr.fr)
14 #include "guisettings.h"
18 /* HELPER FUNCTIONS ***********************************************************/
22 GetScreenBufferSizeUnits(IN PCONSOLE_SCREEN_BUFFER Buffer
,
23 IN PGUI_CONSOLE_DATA GuiData
,
27 ASSERT(Buffer
&& GuiData
&& WidthUnit
&& HeightUnit
);
29 if (GetType(Buffer
) == TEXTMODE_BUFFER
)
31 *WidthUnit
= GuiData
->CharWidth
;
32 *HeightUnit
= GuiData
->CharHeight
;
34 else /* if (GetType(Buffer) == GRAPHICS_BUFFER) */
43 SmallRectToRect(PGUI_CONSOLE_DATA GuiData
, PRECT Rect
, PSMALL_RECT SmallRect
)
45 PCONSOLE_SCREEN_BUFFER Buffer
= GuiData
->ActiveBuffer
;
46 UINT WidthUnit
, HeightUnit
;
48 GetScreenBufferSizeUnits(Buffer
, GuiData
, &WidthUnit
, &HeightUnit
);
50 Rect
->left
= (SmallRect
->Left
- Buffer
->ViewOrigin
.X
) * WidthUnit
;
51 Rect
->top
= (SmallRect
->Top
- Buffer
->ViewOrigin
.Y
) * HeightUnit
;
52 Rect
->right
= (SmallRect
->Right
+ 1 - Buffer
->ViewOrigin
.X
) * WidthUnit
;
53 Rect
->bottom
= (SmallRect
->Bottom
+ 1 - Buffer
->ViewOrigin
.Y
) * HeightUnit
;
57 /* FUNCTIONS ******************************************************************/
62 GuiConsoleMoveWindow(PGUI_CONSOLE_DATA GuiData
);
69 _Inout_ PGUI_CONSOLE_DATA GuiData
,
70 _In_reads_or_z_(LF_FACESIZE
)
72 _In_ ULONG FontWeight
,
73 _In_ ULONG FontFamily
,
75 _In_opt_ UINT CodePage
,
76 _In_ BOOL UseDefaultFallback
);
79 DeleteFonts(PGUI_CONSOLE_DATA GuiData
);
85 EnterFullScreen(PGUI_CONSOLE_DATA GuiData
);
87 LeaveFullScreen(PGUI_CONSOLE_DATA GuiData
);
89 SwitchFullScreen(PGUI_CONSOLE_DATA GuiData
, BOOL FullScreen
);
91 GuiConsoleSwitchFullScreen(PGUI_CONSOLE_DATA GuiData
);
97 GuiCopyFromGraphicsBuffer(PGRAPHICS_SCREEN_BUFFER Buffer
,
98 PGUI_CONSOLE_DATA GuiData
);
100 GuiPasteToGraphicsBuffer(PGRAPHICS_SCREEN_BUFFER Buffer
,
101 PGUI_CONSOLE_DATA GuiData
);
103 GuiPaintGraphicsBuffer(PGRAPHICS_SCREEN_BUFFER Buffer
,
104 PGUI_CONSOLE_DATA GuiData
,
106 PRECT rcFramebuffer
);
113 IN PCONSRV_CONSOLE Console
,
118 GuiCopyFromTextModeBuffer(PTEXTMODE_SCREEN_BUFFER Buffer
,
119 PGUI_CONSOLE_DATA GuiData
);
121 GuiPasteToTextModeBuffer(PTEXTMODE_SCREEN_BUFFER Buffer
,
122 PGUI_CONSOLE_DATA GuiData
);
124 GuiPaintTextModeBuffer(PTEXTMODE_SCREEN_BUFFER Buffer
,
125 PGUI_CONSOLE_DATA GuiData
,
127 PRECT rcFramebuffer
);