ReactOS 0.4.15-dev-5874-gc762234
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/*
29typedef 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
40typedef struct _GUI_CONSOLE_DATA
41{
46
47 // HANDLE InputThreadHandle;
49 HWINSTA WinSta;
50 HDESK Desktop;
51
53
55
60
61 HWND hWindow; /* Handle to the console's window */
62 HDC hMemDC; /* Memory DC holding the console framebuffer */
63 HBITMAP hBitmap; /* Console framebuffer */
64 HPALETTE hSysPalette; /* Handle to the original system palette */
65
66 HICON hIcon; /* Handle to the console's icon (big) */
67 HICON hIconSm; /* Handle to the console's icon (small) */
68
69/*** The following may be put per-screen-buffer !! ***/
70 HCURSOR hCursor; /* Handle to the mouse cursor */
71 INT MouseCursorRefCount; /* The reference counter associated with the mouse cursor. >= 0 and the cursor is shown; < 0 and the cursor is hidden. */
72 BOOL IgnoreNextMouseSignal; /* Used when we need to not process a mouse signal */
73
74 BOOL HackCORE8394IgnoreNextMove; /* HACK FOR CORE-8394. See conwnd.c!OnMouse for more details. */
75
76 HMENU hSysMenu; /* Handle to the console window system menu */
77 BOOL IsCloseButtonEnabled; /* TRUE if the Close button and the corresponding system menu item are enabled (default), FALSE otherwise */
78 UINT CmdIdLow ; /* Lowest menu id of the user-reserved menu id range */
79 UINT CmdIdHigh; /* Highest menu id of the user-reserved menu id range */
80
81// COLORREF Colors[16];
82
83// PVOID ScreenBuffer; /* Hardware screen buffer */
84
86 UINT CharWidth; /* The character width and height should be the same for */
87 UINT CharHeight; /* both normal and bold/underlined fonts... */
88/*****************************************************/
89
90 PCONSRV_CONSOLE Console; /* Pointer to the owned console */
91 PCONSOLE_SCREEN_BUFFER ActiveBuffer; /* Pointer to the active screen buffer (then maybe the previous Console member is redundant?? Or not...) */
92 CONSOLE_SELECTION_INFO Selection; /* Contains information about the selection */
93 COORD dwSelectionCursor; /* Selection cursor position, most of the time different from Selection.dwSelectionAnchor */
94 BOOL LineSelection; /* TRUE if line-oriented selection (a la *nix terminals), FALSE if block-oriented selection (default on Windows) */
95
96 GUI_CONSOLE_INFO GuiInfo; /* GUI terminal settings */
unsigned char BOOLEAN
struct _GUI_CONSOLE_DATA * PGUI_CONSOLE_DATA
#define FONT_MAXNO
Definition: conwnd.h:38
struct _GUI_CONSOLE_DATA GUI_CONSOLE_DATA
unsigned int BOOL
Definition: ntddk_ex.h:94
static HBITMAP
Definition: button.c:44
static HDC
Definition: imagelist.c:92
static HICON
Definition: imagelist.c:84
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:60
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
unsigned int UINT
Definition: ndis.h:50
Definition: bl.h:1338
HMENU hSysMenu
Definition: conwnd.h:76
LONG_PTR WndStyleEx
Definition: conwnd.h:57
WINDOWPLACEMENT WndPl
Definition: conwnd.h:59
UINT CmdIdHigh
Definition: conwnd.h:79
PCONSOLE_SCREEN_BUFFER ActiveBuffer
Definition: conwnd.h:91
HWINSTA WinSta
Definition: conwnd.h:49
HDESK Desktop
Definition: conwnd.h:50
CONSOLE_SELECTION_INFO Selection
Definition: conwnd.h:92
HANDLE hGuiInitEvent
Definition: conwnd.h:44
BOOLEAN IsWindowVisible
Definition: conwnd.h:52
BOOL IsCloseButtonEnabled
Definition: conwnd.h:77
HANDLE hGuiTermEvent
Definition: conwnd.h:45
BOOL WindowSizeLock
Definition: conwnd.h:43
BOOL LineSelection
Definition: conwnd.h:94
BOOL HackCORE8394IgnoreNextMove
Definition: conwnd.h:74
PCONSRV_CONSOLE Console
Definition: conwnd.h:90
HCURSOR hCursor
Definition: conwnd.h:70
CRITICAL_SECTION Lock
Definition: conwnd.h:42
UINT CharWidth
Definition: conwnd.h:86
BOOL IgnoreNextMouseSignal
Definition: conwnd.h:72
ULONG_PTR InputThreadId
Definition: conwnd.h:48
POINT OldCursor
Definition: conwnd.h:54
GUI_CONSOLE_INFO GuiInfo
Definition: conwnd.h:96
HBITMAP hBitmap
Definition: conwnd.h:63
LONG_PTR WndStyle
Definition: conwnd.h:56
HICON hIconSm
Definition: conwnd.h:67
HPALETTE hSysPalette
Definition: conwnd.h:64
UINT CharHeight
Definition: conwnd.h:87
INT MouseCursorRefCount
Definition: conwnd.h:71
COORD dwSelectionCursor
Definition: conwnd.h:93
int32_t INT
Definition: typedefs.h:58
uint32_t ULONG_PTR
Definition: typedefs.h:65
HICON HCURSOR
Definition: windef.h:299