2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS Console Server DLL
4 * FILE: win32ss/user/winsrv/consrv/guisettings.h
5 * PURPOSE: GUI front-end settings management
6 * PROGRAMMERS: Johannes Anderwald
7 * Hermes Belusca-Maito (hermes.belusca@sfr.fr)
9 * NOTE: Also used by console.dll
17 #define PM_APPLY_CONSOLE_INFO (WM_APP + 100)
19 /* STRUCTURES *****************************************************************/
21 typedef struct _GUI_CONSOLE_INFO
23 // FONTSIGNATURE FontSignature;
24 WCHAR FaceName
[LF_FACESIZE
];
30 BOOL FullScreen
; /* Whether the console is displayed in full-screen or windowed mode */
31 // ULONG HardwareState; /* _GDI_MANAGED, _DIRECT */
36 } GUI_CONSOLE_INFO
, *PGUI_CONSOLE_INFO
;
38 #ifndef CONSOLE_H__ // If we aren't included by console.dll
40 typedef struct _GUI_CONSOLE_DATA
42 CRITICAL_SECTION Lock
;
51 WINDOWPLACEMENT WndPl
;
53 HWND hWindow
; /* Handle to the console's window */
54 HDC hMemDC
; /* Memory DC holding the console framebuffer */
55 HBITMAP hBitmap
; /* Console framebuffer */
56 HPALETTE hSysPalette
; /* Handle to the original system palette */
58 HICON hIcon
; /* Handle to the console's icon (big) */
59 HICON hIconSm
; /* Handle to the console's icon (small) */
61 /*** The following may be put per-screen-buffer !! ***/
62 HCURSOR hCursor
; /* Handle to the mouse cursor */
63 INT MouseCursorRefCount
; /* The reference counter associated with the mouse cursor. >= 0 and the cursor is shown; < 0 and the cursor is hidden. */
64 BOOL IgnoreNextMouseSignal
; /* Used in cases where we don't want to treat a mouse signal */
66 BOOL IsCloseButtonEnabled
; /* TRUE if the Close button and the corresponding system menu item are enabled (default), FALSE otherwise */
67 UINT cmdIdLow
; /* Lowest menu id of the user-reserved menu id range */
68 UINT cmdIdHigh
; /* Highest menu id of the user-reserved menu id range */
70 // COLORREF Colors[16];
72 // PVOID ScreenBuffer; /* Hardware screen buffer */
77 /*****************************************************/
79 PCONSOLE Console
; /* Pointer to the owned console */
80 PCONSOLE_SCREEN_BUFFER ActiveBuffer
; /* Pointer to the active screen buffer (then maybe the previous Console member is redundant?? Or not...) */
82 GUI_CONSOLE_INFO GuiInfo
; /* GUI terminal settings */
83 } GUI_CONSOLE_DATA
, *PGUI_CONSOLE_DATA
;
85 /* FUNCTIONS ******************************************************************/
88 GuiConsoleReadUserSettings(IN OUT PGUI_CONSOLE_INFO TermInfo
,
89 IN LPCWSTR ConsoleTitle
,
92 GuiConsoleWriteUserSettings(IN OUT PGUI_CONSOLE_INFO TermInfo
,
93 IN LPCWSTR ConsoleTitle
,
96 GuiConsoleGetDefaultSettings(IN OUT PGUI_CONSOLE_INFO TermInfo
,
99 GuiConsoleShowConsoleProperties(PGUI_CONSOLE_DATA GuiData
,
102 GuiApplyUserSettings(PGUI_CONSOLE_DATA GuiData
,
103 HANDLE hClientSection
,