ReactOS
0.4.17-dev-116-ga4b6fe9
conwnd.h
Go to the documentation of this file.
1
/*
2
* COPYRIGHT: See COPYING in the top level directory
3
* PROJECT: ReactOS Console Server DLL
4
* FILE: win32ss/user/winsrv/consrv/frontends/gui/conwnd.h
5
* PURPOSE: GUI Console Window Class
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
/* GUI Console Window Class name */
15
#define GUI_CONWND_CLASS L"ConsoleWindowClass"
16
17
#ifndef WM_APP
18
#define WM_APP 0x8000
19
#endif
20
#define PM_RESIZE_TERMINAL (WM_APP + 3)
21
#define PM_CONSOLE_BEEP (WM_APP + 4)
22
#define PM_CONSOLE_SET_TITLE (WM_APP + 5)
23
24
/* Flags for GetKeyState */
25
#define KEY_TOGGLED 0x0001
26
#define KEY_PRESSED 0x8000
27
28
/*
29
typedef struct _CONSOLE_FONT
30
{
31
HFONT Font;
32
ULONG Flag;
33
} CONSOLE_FONT, *PCONSOLE_FONT;
34
*/
35
#define FONT_NORMAL 0x00
36
#define FONT_BOLD 0x01
37
#define FONT_UNDERLINE 0x02
38
#define FONT_MAXNO 0x04
39
40
typedef
struct
_GUI_CONSOLE_DATA
41
{
42
CRITICAL_SECTION
Lock
;
43
BOOL
WindowSizeLock
;
44
HANDLE
hGuiInitEvent
;
45
HANDLE
hGuiTermEvent
;
46
47
// HANDLE InputThreadHandle;
48
ULONG_PTR
InputThreadId
;
49
HWINSTA
WinSta
;
50
HDESK
Desktop
;
51
52
BOOLEAN
IsWindowVisible
;
53
BOOLEAN
IsWindowActive
;
54
55
POINT
OldCursor
;
56
57
LONG_PTR
WndStyle
;
58
LONG_PTR
WndStyleEx
;
59
BOOL
IsWndMax
;
60
WINDOWPLACEMENT
WndPl
;
61
62
HWND
hWindow
;
/* Handle to the console's window */
63
HDC
hMemDC
;
/* Memory DC holding the console framebuffer */
64
HBITMAP
hBitmap
;
/* Console framebuffer */
65
HPALETTE
hSysPalette
;
/* Handle to the original system palette */
66
67
HICON
hIcon
;
/* Handle to the console's icon (big) */
68
HICON
hIconSm
;
/* Handle to the console's icon (small) */
69
70
/*** The following may be put per-screen-buffer !! ***/
71
HCURSOR
hCursor
;
/* Handle to the mouse cursor */
72
INT
MouseCursorRefCount
;
/* The reference counter associated with the mouse cursor. >= 0 and the cursor is shown; < 0 and the cursor is hidden. */
73
BOOL
IgnoreNextMouseEvent
;
/* Used when we need to not process a mouse event */
74
75
BOOL
HackCORE8394IgnoreNextMove
;
/* HACK FOR CORE-8394. See conwnd.c!OnMouse for more details. */
76
77
HMENU
hSysMenu
;
/* Handle to the console window system menu */
78
BOOL
IsCloseButtonEnabled
;
/* TRUE if the Close button and the corresponding system menu item are enabled (default), FALSE otherwise */
79
UINT
CmdIdLow
;
/* Lowest menu id of the user-reserved menu id range */
80
UINT
CmdIdHigh
;
/* Highest menu id of the user-reserved menu id range */
81
82
// COLORREF Colors[16];
83
84
// PVOID ScreenBuffer; /* Hardware screen buffer */
85
86
HFONT
Font
[
FONT_MAXNO
];
87
UINT
CharWidth
;
/* The character width and height should be the same for */
88
UINT
CharHeight
;
/* both normal and bold/underlined fonts... */
89
/*****************************************************/
90
91
PCONSRV_CONSOLE
Console
;
/* Pointer to the owned console */
92
PCONSOLE_SCREEN_BUFFER
ActiveBuffer
;
/* Pointer to the active screen buffer (then maybe the previous Console member is redundant?? Or not...) */
93
CONSOLE_SELECTION_INFO
Selection
;
/* Contains information about the selection */
94
COORD
dwSelectionCursor
;
/* Selection cursor position, most of the time different from Selection.dwSelectionAnchor */
95
BOOL
LineSelection
;
/* TRUE if line-oriented selection (a la *nix terminals), FALSE if block-oriented selection (default on Windows) */
96
97
GUI_CONSOLE_INFO
GuiInfo
;
/* GUI terminal settings */
98
}
GUI_CONSOLE_DATA
, *
PGUI_CONSOLE_DATA
;
BOOLEAN
unsigned char BOOLEAN
Definition:
actypes.h:127
Font
Definition:
gdiplusheaders.h:874
PGUI_CONSOLE_DATA
struct _GUI_CONSOLE_DATA * PGUI_CONSOLE_DATA
FONT_MAXNO
#define FONT_MAXNO
Definition:
conwnd.h:38
GUI_CONSOLE_DATA
struct _GUI_CONSOLE_DATA GUI_CONSOLE_DATA
BOOL
unsigned int BOOL
Definition:
ntddk_ex.h:94
void
Definition:
nsiface.idl:2307
HBITMAP
static HBITMAP
Definition:
button.c:44
HDC
static HDC
Definition:
imagelist.c:88
HICON
static HICON
Definition:
imagelist.c:80
HMENU
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition:
ordinal.c:60
LONG_PTR
__int3264 LONG_PTR
Definition:
mstsclib_h.h:276
UINT
unsigned int UINT
Definition:
ndis.h:50
_CONSOLE_SCREEN_BUFFER
Definition:
conio.h:57
_CONSOLE_SELECTION_INFO
Definition:
wincon.h:237
_CONSRV_CONSOLE
Definition:
conio_winsrv.h:114
_GUI_CONSOLE_DATA
Definition:
conwnd.h:41
_GUI_CONSOLE_DATA::hSysMenu
HMENU hSysMenu
Definition:
conwnd.h:77
_GUI_CONSOLE_DATA::WndStyleEx
LONG_PTR WndStyleEx
Definition:
conwnd.h:58
_GUI_CONSOLE_DATA::WndPl
WINDOWPLACEMENT WndPl
Definition:
conwnd.h:60
_GUI_CONSOLE_DATA::CmdIdHigh
UINT CmdIdHigh
Definition:
conwnd.h:80
_GUI_CONSOLE_DATA::ActiveBuffer
PCONSOLE_SCREEN_BUFFER ActiveBuffer
Definition:
conwnd.h:92
_GUI_CONSOLE_DATA::hMemDC
HDC hMemDC
Definition:
conwnd.h:63
_GUI_CONSOLE_DATA::WinSta
HWINSTA WinSta
Definition:
conwnd.h:49
_GUI_CONSOLE_DATA::Desktop
HDESK Desktop
Definition:
conwnd.h:50
_GUI_CONSOLE_DATA::IsWindowActive
BOOLEAN IsWindowActive
Definition:
conwnd.h:53
_GUI_CONSOLE_DATA::Selection
CONSOLE_SELECTION_INFO Selection
Definition:
conwnd.h:93
_GUI_CONSOLE_DATA::hGuiInitEvent
HANDLE hGuiInitEvent
Definition:
conwnd.h:44
_GUI_CONSOLE_DATA::IsWindowVisible
BOOLEAN IsWindowVisible
Definition:
conwnd.h:52
_GUI_CONSOLE_DATA::IsCloseButtonEnabled
BOOL IsCloseButtonEnabled
Definition:
conwnd.h:78
_GUI_CONSOLE_DATA::hGuiTermEvent
HANDLE hGuiTermEvent
Definition:
conwnd.h:45
_GUI_CONSOLE_DATA::WindowSizeLock
BOOL WindowSizeLock
Definition:
conwnd.h:43
_GUI_CONSOLE_DATA::LineSelection
BOOL LineSelection
Definition:
conwnd.h:95
_GUI_CONSOLE_DATA::HackCORE8394IgnoreNextMove
BOOL HackCORE8394IgnoreNextMove
Definition:
conwnd.h:75
_GUI_CONSOLE_DATA::IgnoreNextMouseEvent
BOOL IgnoreNextMouseEvent
Definition:
conwnd.h:73
_GUI_CONSOLE_DATA::Console
PCONSRV_CONSOLE Console
Definition:
conwnd.h:91
_GUI_CONSOLE_DATA::hCursor
HCURSOR hCursor
Definition:
conwnd.h:71
_GUI_CONSOLE_DATA::Lock
CRITICAL_SECTION Lock
Definition:
conwnd.h:42
_GUI_CONSOLE_DATA::hIcon
HICON hIcon
Definition:
conwnd.h:67
_GUI_CONSOLE_DATA::hWindow
HWND hWindow
Definition:
conwnd.h:62
_GUI_CONSOLE_DATA::CharWidth
UINT CharWidth
Definition:
conwnd.h:87
_GUI_CONSOLE_DATA::InputThreadId
ULONG_PTR InputThreadId
Definition:
conwnd.h:48
_GUI_CONSOLE_DATA::OldCursor
POINT OldCursor
Definition:
conwnd.h:55
_GUI_CONSOLE_DATA::GuiInfo
GUI_CONSOLE_INFO GuiInfo
Definition:
conwnd.h:97
_GUI_CONSOLE_DATA::hBitmap
HBITMAP hBitmap
Definition:
conwnd.h:64
_GUI_CONSOLE_DATA::IsWndMax
BOOL IsWndMax
Definition:
conwnd.h:59
_GUI_CONSOLE_DATA::WndStyle
LONG_PTR WndStyle
Definition:
conwnd.h:57
_GUI_CONSOLE_DATA::hIconSm
HICON hIconSm
Definition:
conwnd.h:68
_GUI_CONSOLE_DATA::hSysPalette
HPALETTE hSysPalette
Definition:
conwnd.h:65
_GUI_CONSOLE_DATA::CharHeight
UINT CharHeight
Definition:
conwnd.h:88
_GUI_CONSOLE_DATA::MouseCursorRefCount
INT MouseCursorRefCount
Definition:
conwnd.h:72
_GUI_CONSOLE_DATA::dwSelectionCursor
COORD dwSelectionCursor
Definition:
conwnd.h:94
_GUI_CONSOLE_DATA::CmdIdLow
UINT CmdIdLow
Definition:
conwnd.h:79
_GUI_CONSOLE_INFO
Definition:
guisettings.h:17
_RTL_CRITICAL_SECTION
Definition:
rtltypes.h:1449
_WINDOWPLACEMENT
Definition:
winuser.h:3397
tagCOORD
Definition:
blue.h:25
tagPOINT
Definition:
polytest.cpp:47
INT
int32_t INT
Definition:
typedefs.h:58
ULONG_PTR
uint32_t ULONG_PTR
Definition:
typedefs.h:65
HCURSOR
HICON HCURSOR
Definition:
windef.h:99
win32ss
user
winsrv
consrv
frontends
gui
conwnd.h
Generated on Tue May 12 2026 06:17:31 for ReactOS by
1.9.6