33 #define CONGUI_MIN_WIDTH 10 34 #define CONGUI_MIN_HEIGHT 10 35 #define CONGUI_UPDATE_TIME 0 36 #define CONGUI_UPDATE_TIMER 1 38 #define CURSOR_BLINK_TIME 500 43 #define GWLP_CONWND_ALLOC (2 * sizeof(LONG_PTR)) 44 #define GWLP_CONSOLE_LEADER_PID 0 45 #define GWLP_CONSOLE_LEADER_TID 4 55 DPRINT(
"ProcessData: %p, ProcessData->Process %p.\n", ProcessData, ProcessData->
Process);
169 if (WndClassAtom == 0)
171 DPRINT1(
"Failed to register GUI console class\n");
178 return (WndClassAtom != 0);
192 WCHAR szMenuString[255];
207 if (hSubMenu !=
NULL)
247 WCHAR szMenuStringBack[255];
260 ptrTab =
wcschr(szMenuStringBack,
L'\t');
278 DPRINT(
"Menu item ID: %d\n", CmdId);
318 COORD SelectionAnchor;
326 SelectionAnchor.
X = SelectionAnchor.
Y = 0;
392 DPRINT1(
"Scrolling is not handled yet\n");
396 DPRINT1(
"Finding is not handled yet\n");
441 sInfo.
cbSize =
sizeof(sInfo);
505 if (
GetObjectW(OrgFont,
sizeof(lf), &lf) == 0)
534 UINT OldCharWidth = GuiData->CharWidth;
535 UINT OldCharHeight = GuiData->CharHeight;
536 COORD OldFontSize = GuiData->GuiInfo.FontSize;
541 CodePage = GuiData->Console->OutputCodePage;
564 DPRINT1(
"InitFonts: CreateConsoleFontEx('%S') failed\n", NewFaceName);
570 if (!GetFontCellSize(
hDC,
hFont, &GuiData->CharHeight, &GuiData->CharWidth))
572 DPRINT1(
"InitFonts: GetFontCellSize failed\n");
612 GuiData->GuiInfo.FontWeight = FontData.
Weight;
613 GuiData->GuiInfo.FontFamily = FontData.
Family;
614 GuiData->GuiInfo.FontSize = FontData.
Size;
617 if ((OldCharWidth != GuiData->CharWidth) ||
618 (OldCharHeight != GuiData->CharHeight) ||
619 (OldFontSize.
X != FontData.
Size.
X ||
620 OldFontSize.
Y != FontData.
Size.
Y))
637 DPRINT1(
"GuiConsoleNcCreate: No GUI data\n");
658 if (AltCodePage ==
Console->OutputCodePage)
661 DPRINT1(
"Could not initialize font '%S' for code page %d - Resetting CP to %d\n",
675 DPRINT1(
"Failed to initialize font '%S' for code page %d\n",
678 DPRINT1(
"GuiConsoleNcCreate: InitFonts failed\n");
704 if (GuiData->IsWindowVisible)
712 DPRINT(
"OnNcCreate - setting start event\n");
726 DPRINT(
"WM_ACTIVATE - ActivationState = %d\n", ActivationState);
783 DPRINT(
"TODO: Create console caret\n");
785 DPRINT(
"TODO: Destroy console caret\n");
795 *
Begin = *SelectionAnchor;
796 End->
X = (SelectionAnchor->
X == SmallRect->
Left) ? SmallRect->
Right 798 End->
Y = (SelectionAnchor->
Y == SmallRect->
Top ) ? SmallRect->
Bottom 841 SmallRect->
Top != sr.
Top ||
846 "SmallRect = (%d, %d, %d, %d)\n" 847 "sr = (%d, %d, %d, %d)\n" 1011 wcsncpy(WindowTitle, SelTypeStr, SelTypeStrLength);
1063 GuiData, &ps.
rcPaint, &rcPaint);
1068 GuiData, &ps.
rcPaint, &rcPaint);
1111 DPRINT(
"WM_PALETTECHANGED changing palette\n");
1124 switch (VirtualKeyCode)
1166 else if ( VirtualKeyCode ==
VK_ESCAPE ||
1180 switch (VirtualKeyCode)
1334 int OldScrollX = -1, OldScrollY = -1;
1335 int NewScrollX = -1, NewScrollY = -1;
1337 sInfo.
cbSize =
sizeof(sInfo);
1344 if (OldScrollX >= 0)
1357 NewScrollX = OldScrollX;
1361 if (OldScrollY >= 0)
1374 NewScrollY = OldScrollY;
1382 if ((OldScrollX != NewScrollX) || (OldScrollY != NewScrollY))
1387 (OldScrollX - NewScrollX) * GuiData->
CharWidth,
1388 (OldScrollY - NewScrollY) * GuiData->
CharHeight,
1394 if (NewScrollX >= 0)
1396 sInfo.
nPos = NewScrollX;
1399 if (NewScrollY >= 0)
1401 sInfo.
nPos = NewScrollY;
1471 INT oldPos, Maximum;
1492 sInfo.
cbSize =
sizeof(sInfo);
1497 oldPos = sInfo.
nPos;
1541 if (oldPos != sInfo.
nPos)
1545 UINT WidthUnit, HeightUnit;
1548 *pOriginXY = sInfo.
nPos;
1578 UINT WidthUnit, HeightUnit;
1588 else if (Coord.
X >=
Buffer->ScreenBufferSize.X)
1589 Coord.
X =
Buffer->ScreenBufferSize.X - 1;
1593 else if (Coord.
Y >=
Buffer->ScreenBufferSize.Y)
1594 Coord.
Y =
Buffer->ScreenBufferSize.Y - 1;
1629 msg != WM_XBUTTONDOWN)
1709 #define IS_WORD_SEP(c) \ 1710 ((c) == L'\0' || (c) == L' ' || (c) == L'\t' || (c) == L'\r' || (c) == L'\n') 1727 while ((cR.
X <
TextBuffer->ScreenBufferSize.X - 1) &&
1785 WORD wKeyState = GET_KEYSTATE_WPARAM(
wParam);
1786 DWORD dwButtonState = 0;
1787 DWORD dwControlKeyState = 0;
1788 DWORD dwEventFlags = 0;
1810 case WM_XBUTTONDOWN:
1816 if (wButton & ~(XBUTTON1 | XBUTTON2))
1818 DPRINT1(
"X-button 0x%04x invalid\n", wButton);
1854 if (wButton & ~(XBUTTON1 | XBUTTON2))
1856 DPRINT1(
"X-button 0x%04x invalid\n", wButton);
1881 case WM_XBUTTONDBLCLK:
1887 if (wButton & ~(XBUTTON1 | XBUTTON2))
1889 DPRINT1(
"X-button 0x%04x invalid\n", wButton);
1906 dwButtonState = GET_WHEEL_DELTA_WPARAM(
wParam) << 16;
1910 case WM_MOUSEHWHEEL:
1911 dwButtonState = GET_WHEEL_DELTA_WPARAM(
wParam) << 16;
1938 case WM_XBUTTONDOWN:
1952 if (wKeyState & MK_XBUTTON1)
1954 if (wKeyState & MK_XBUTTON2)
2077 UINT WidthUnit, HeightUnit;
2117 DWORD windx, windy, charx, chary;
2118 UINT WidthUnit, HeightUnit;
2131 charx = windx / (
int)WidthUnit ;
2132 chary = windy / (
int)HeightUnit;
2135 if ((windx % WidthUnit ) >= (WidthUnit / 2)) ++charx;
2136 if ((windy % HeightUnit) >= (HeightUnit / 2)) ++chary;
2142 charx = windx / (
int)WidthUnit ;
2143 chary = windy / (
int)HeightUnit;
2146 if ((windx % WidthUnit ) >= (WidthUnit / 2)) ++charx;
2147 if ((windy % HeightUnit) >= (HeightUnit / 2)) ++chary;
2313 DPRINT(
"WM_PALETTECHANGED called\n");
2330 DPRINT(
"WM_PALETTECHANGED ok\n");
2332 DPRINT(
"WM_PALETTECHANGED quit\n");
2386 if (hWndHit ==
hWnd)
2418 case WM_XBUTTONDOWN:
2426 case WM_XBUTTONDBLCLK:
2429 case WM_MOUSEHWHEEL:
2527 #if 0 // This code is here to prepare & control dynamic console SB resizing. 2555 DPRINT1(
"WMSZ_BOTTOMRIGHT\n");
2561 DPRINT1(
"dragRect = {.left = %d ; .top = %d ; .right = %d ; .bottom = %d}\n",
2578 UINT WidthUnit, HeightUnit;
#define ID_SYSTEM_EDIT_SCROLL
int WINAPI CombineRgn(_In_opt_ HRGN hrgnDest, _In_opt_ HRGN hrgnSrc1, _In_opt_ HRGN hrgnSrc2, _In_ int fnCombineMode)
#define FROM_LEFT_1ST_BUTTON_PRESSED
BOOLEAN UnRegisterConWndClass(HINSTANCE hInstance)
PCONSOLE_PROCESS_DATA NTAPI ConSrvGetConsoleLeaderProcess(IN PCONSRV_CONSOLE Console)
static VOID OnFocus(PGUI_CONSOLE_DATA GuiData, BOOL SetFocus)
GLint GLint GLsizei width
static VOID OnSize(PGUI_CONSOLE_DATA GuiData, WPARAM wParam, LPARAM lParam)
STRSAFEAPI StringCchCopyNW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszSrc, size_t cchToCopy)
static PGUI_CONSOLE_DATA GuiGetGuiData(HWND hWnd)
_In_ NDIS_ERROR_CODE ErrorCode
BOOL IsCloseButtonEnabled
BOOL WINAPI DrawMenuBar(_In_ HWND)
_In_ ULONG _In_ ULONG _In_ ULONG Length
BOOL WINAPI IsClipboardFormatAvailable(_In_ UINT)
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
UINT WINAPI SetSystemPaletteUse(_In_ HDC, _In_ UINT)
BITMAPINFOHEADER bmiHeader
BOOL WINAPI UnregisterClassW(_In_ LPCWSTR, HINSTANCE)
static VOID Paste(PGUI_CONSOLE_DATA GuiData)
#define CONGUI_MIN_HEIGHT
HDC WINAPI GetDC(_In_opt_ HWND)
VOID ConioUnpause(PCONSRV_CONSOLE Console, UCHAR Flags)
static COORD PointToCoord(PGUI_CONSOLE_DATA GuiData, LPARAM lParam)
#define RIGHTMOST_BUTTON_PRESSED
VOID DeleteFonts(PGUI_CONSOLE_DATA GuiData)
PCHAR_INFO ConioCoordToPointer(PTEXTMODE_SCREEN_BUFFER Buff, ULONG X, ULONG Y)
GLdouble GLdouble GLdouble r
_In_ HFONT _Out_ PUINT _Out_ PUINT Width
struct _GUI_CONSOLE_DATA * PGUI_CONSOLE_DATA
struct tagBITMAPINFOHEADER BITMAPINFOHEADER
#define GWLP_CONWND_ALLOC
TW_UINT32 TW_UINT16 TW_UINT16 MSG
BOOL WINAPI TrackPopupMenuEx(_In_ HMENU, _In_ UINT, _In_ int, _In_ int, _In_ HWND, _In_opt_ LPTPMPARAMS)
HRGN WINAPI CreateRectRgnIndirect(_In_ LPCRECT)
#define ID_SYSTEM_EDIT_COPY
BOOL WINAPI ShowScrollBar(_In_ HWND, _In_ int, _In_ BOOL)
BOOL WINAPI UpdateWindow(_In_ HWND)
#define FROM_LEFT_2ND_BUTTON_PRESSED
#define ConsoleAllocHeap(Flags, Size)
void WINAPI DragAcceptFiles(HWND hWnd, BOOL b)
static VOID ResizeConWnd(PGUI_CONSOLE_DATA GuiData, DWORD WidthUnit, DWORD HeightUnit)
#define TermResizeTerminal(Console)
static LRESULT OnCommand(PGUI_CONSOLE_DATA GuiData, WPARAM wParam, LPARAM lParam)
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
static VOID OnMove(PGUI_CONSOLE_DATA GuiData)
BOOL WINAPI DeleteObject(_In_ HGDIOBJ)
VOID GuiPasteToTextModeBuffer(PTEXTMODE_SCREEN_BUFFER Buffer, PGUI_CONSOLE_DATA GuiData)
VOID LeaveFullScreen(PGUI_CONSOLE_DATA GuiData)
GLint GLint GLint GLint GLint x
HWND WINAPI SetFocus(_In_opt_ HWND)
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
#define CONSOLE_NO_SELECTION
BOOL IgnoreNextMouseSignal
BOOL WINAPI SetWindowTextW(_In_ HWND, _In_opt_ LPCWSTR)
struct _WNDCLASSEXW WNDCLASSEXW
_In_ HFONT _Out_ PUINT Height
#define GetWindowLongPtrW
CONSOLE_SELECTION_INFO Selection
#define PM_RESIZE_TERMINAL
BOOL WINAPI EndPaint(_In_ HWND, _In_ const PAINTSTRUCT *)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
static VOID UpdateSelection(PGUI_CONSOLE_DATA GuiData, PCOORD SelectionAnchor OPTIONAL, PCOORD coord)
BOOL WINAPI GetCursorPos(_Out_ LPPOINT)
static VOID OnTimer(PGUI_CONSOLE_DATA GuiData)
BOOL WINAPI IsIconic(_In_ HWND)
#define CONSOLE_MOUSE_DOWN
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
VOID GetSelectionBeginEnd(PCOORD Begin, PCOORD End, PCOORD SelectionAnchor, PSMALL_RECT SmallRect)
#define GWLP_CONSOLE_LEADER_TID
VOID GuiCopyFromGraphicsBuffer(PGRAPHICS_SCREEN_BUFFER Buffer, PGUI_CONSOLE_DATA GuiData)
LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define PAUSED_FROM_SELECTION
#define CON_SET_OUTPUT_CP(Console, CodePage)
STRSAFEAPI StringCchCatW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszSrc)
BOOL WINAPI AppendMenuW(_In_ HMENU, _In_ UINT, _In_ UINT_PTR, _In_opt_ LPCWSTR)
static VOID SendMenuEvent(PCONSRV_CONSOLE Console, UINT CmdId)
#define CONSOLE_MOUSE_SELECTION
#define ID_SYSTEM_PROPERTIES
ATOM WINAPI RegisterClassExW(_In_ CONST WNDCLASSEXW *)
static LRESULT OnMouse(PGUI_CONSOLE_DATA GuiData, UINT msg, WPARAM wParam, LPARAM lParam)
VOID SetConWndConsoleLeaderCID(IN PGUI_CONSOLE_DATA GuiData)
VOID PasteText(IN PCONSRV_CONSOLE Console, IN PWCHAR Buffer, IN SIZE_T cchSize)
static VOID PaintSelectionRect(PGUI_CONSOLE_DATA GuiData, PPAINTSTRUCT pps)
#define ID_SYSTEM_EDIT_MARK
BOOL WINAPI EnableMenuItem(_In_ HMENU, _In_ UINT, _In_ UINT)
HBITMAP CreateFrameBufferBitmap(HDC hDC, int width, int height)
NTSTATUS NTAPI ConSrvConsoleProcessCtrlEvent(IN PCONSRV_CONSOLE Console, IN ULONG ProcessGroupId, IN ULONG CtrlEvent)
BOOL HackCORE8394IgnoreNextMove
HANDLE WINAPI LoadImageW(_In_opt_ HINSTANCE, _In_ LPCWSTR, _In_ UINT, _In_ int, _In_ int, _In_ UINT)
HFONT CreateConsoleFontEx(_In_ LONG Height, _In_opt_ LONG Width, _Inout_updates_z_(LF_FACESIZE) PWSTR FaceName, _In_ ULONG FontWeight, _In_ ULONG FontFamily, _In_ UINT CodePage, _In_ BOOL UseDefaultFallback, _Out_ PFONT_DATA FontData)
Validates and creates a suitable console font based on the font characteristics given in input.
VOID CreateSysMenu(HWND hWnd)
HDC WINAPI BeginPaint(_In_ HWND, _Out_ LPPAINTSTRUCT)
BOOL InitFonts(_Inout_ PGUI_CONSOLE_DATA GuiData, _In_reads_or_z_(LF_FACESIZE) PCWSTR FaceName, _In_ ULONG FontWeight, _In_ ULONG FontFamily, _In_ COORD FontSize, _In_opt_ UINT CodePage, _In_ BOOL UseDefaultFallback)
#define GWLP_CONSOLE_LEADER_PID
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
NTSTATUS APIENTRY NtUserConsoleControl(IN CONSOLECONTROL ConsoleCtrl, IN PVOID ConsoleCtrlInfo, IN ULONG ConsoleCtrlInfoLength)
short _InterlockedExchange16(_Interlocked_operand_ short volatile *_Target, short _Value)
PCONSOLE_SCREEN_BUFFER ActiveBuffer
#define ID_SYSTEM_DEFAULTS
static VOID OnActivate(PGUI_CONSOLE_DATA GuiData, WPARAM wParam)
#define CONGUI_UPDATE_TIMER
static LRESULT CALLBACK ConWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
BOOL WINAPI SetMenuItemInfoW(_In_ HMENU, _In_ UINT, _In_ BOOL, _In_ LPCMENUITEMINFOW)
HMENU WINAPI GetSystemMenu(_In_ HWND, _In_ BOOL)
HFONT WINAPI CreateFontIndirectW(_In_ const LOGFONTW *)
#define CURSOR_BLINK_TIME
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
#define GetConsoleInputBufferMode(Console)
#define CONSOLE_SELECTION_NOT_EMPTY
int WINAPI ScrollWindowEx(_In_ HWND, _In_ int, _In_ int, _In_opt_ LPCRECT, _In_opt_ LPCRECT, _In_opt_ HRGN, _Out_opt_ LPRECT, _In_ UINT)
static VOID OnScroll(PGUI_CONSOLE_DATA GuiData, INT nBar, WORD sbCode)
VOID InvalidateCell(PGUI_CONSOLE_DATA GuiData, SHORT x, SHORT y)
BOOL WINAPI InvalidateRgn(_In_ HWND, _In_opt_ HRGN, _In_ BOOL)
UINT_PTR WINAPI SetTimer(_In_opt_ HWND, _In_ UINT_PTR, _In_ UINT, _In_opt_ TIMERPROC)
union _CHAR_INFO::@3232 Char
SHORT WINAPI GetKeyState(_In_ int)
#define ID_SYSTEM_EDIT_PASTE
#define FROM_LEFT_3RD_BUTTON_PRESSED
VOID GuiPaintGraphicsBuffer(PGRAPHICS_SCREEN_BUFFER Buffer, PGUI_CONSOLE_DATA GuiData, PRECT rcView, PRECT rcFramebuffer)
static HRGN CreateSelectionRgn(PGUI_CONSOLE_DATA GuiData, BOOL LineSelection, PCOORD SelectionAnchor, PSMALL_RECT SmallRect)
static VOID OnKey(PGUI_CONSOLE_DATA GuiData, UINT msg, WPARAM wParam, LPARAM lParam)
VOID GuiPaintTextModeBuffer(PTEXTMODE_SCREEN_BUFFER Buffer, PGUI_CONSOLE_DATA GuiData, PRECT rcView, PRECT rcFramebuffer)
BOOL WINAPI GetMenuItemInfoW(_In_ HMENU, _In_ UINT, _In_ BOOL, _Inout_ LPMENUITEMINFOW)
static BOOL OnNcCreate(HWND hWnd, LPCREATESTRUCTW Create)
static VOID Mark(PGUI_CONSOLE_DATA GuiData)
NTSTATUS NTAPI NtSetEvent(IN HANDLE EventHandle, OUT PLONG PreviousState OPTIONAL)
_CONST_RETURN wchar_t *__cdecl wcschr(_In_z_ const wchar_t *_Str, wchar_t _Ch)
#define ID_SYSTEM_EDIT_SELECTALL
static BOOL IsSystemKey(WORD VirtualKeyCode)
#define WM_PALETTECHANGED
BOOL WINAPI InvalidateRect(_In_opt_ HWND, _In_opt_ LPCRECT, _In_ BOOL)
int WINAPI GetSystemMetrics(_In_ int)
HCURSOR WINAPI LoadCursorW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
unsigned __int3264 UINT_PTR
static const GUICONSOLE_MENUITEM GuiConsoleMainMenuItems[]
BOOL WINAPI CloseClipboard(void)
static VOID SelectAll(PGUI_CONSOLE_DATA GuiData)
BOOL WINAPI GetScrollInfo(_In_ HWND, _In_ int, _Inout_ LPSCROLLINFO)
#define ENABLE_MOUSE_INPUT
BOOL WINAPI KillTimer(_In_opt_ HWND, _In_ UINT_PTR)
#define LEFT_CTRL_PRESSED
NTSTATUS NTAPI ConSrvSetConsoleProcessFocus(IN PCONSRV_CONSOLE Console, IN BOOLEAN SetForeground)
VOID GuiConsoleShowConsoleProperties(PGUI_CONSOLE_DATA GuiData, BOOL Defaults)
int WINAPI GetDeviceCaps(_In_opt_ HDC, _In_ int)
struct _GUICONSOLE_MENUITEM GUICONSOLE_MENUITEM
VOID GuiConsoleSwitchFullScreen(PGUI_CONSOLE_DATA GuiData)
BOOL EnterFullScreen(PGUI_CONSOLE_DATA GuiData)
static VOID OnPaint(PGUI_CONSOLE_DATA GuiData)
#define CONSOLE_SELECTION_IN_PROGRESS
GLint GLint GLsizei GLsizei height
BOOLEAN RegisterConWndClass(IN HINSTANCE hInstance)
BOOL WINAPI DestroyMenu(_In_ HMENU)
static VOID OnDropFiles(PCONSRV_CONSOLE Console, HDROP hDrop)
static VOID Copy(PGUI_CONSOLE_DATA GuiData)
int WINAPI GetObjectW(_In_ HANDLE h, _In_ int c, _Out_writes_bytes_opt_(c) LPVOID pv)
FORCEINLINE VOID GetScreenBufferSizeUnits(IN PCONSOLE_SCREEN_BUFFER Buffer, IN PGUI_CONSOLE_DATA GuiData, OUT PUINT WidthUnit, OUT PUINT HeightUnit)
HWND WINAPI SetCapture(_In_ HWND hWnd)
#define PAUSED_FROM_SCROLLBAR
_CRTIMP wchar_t *__cdecl wcsncpy(wchar_t *_Dest, const wchar_t *_Source, size_t _Count)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
BOOL WINAPI DeleteDC(_In_ HDC)
HCURSOR WINAPI SetCursor(_In_opt_ HCURSOR)
BOOLEAN NTAPI ConDrvValidateConsoleUnsafe(IN PCONSOLE Console, IN CONSOLE_STATE ExpectedState, IN BOOLEAN LockConsole)
HBITMAP WINAPI CreateDIBSection(HDC hDC, CONST BITMAPINFO *BitmapInfo, UINT Usage, VOID **Bits, HANDLE hSection, DWORD dwOffset)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
static VOID OnPaletteChanged(PGUI_CONSOLE_DATA GuiData)
WCHAR FaceName[LF_FACESIZE]
_CRTIMP wchar_t *__cdecl wcscat(_Inout_updates_z_(_String_length_(_Dest)+_String_length_(_Source)+1) wchar_t *_Dest, _In_z_ const wchar_t *_Source)
VOID ConioPause(PCONSRV_CONSOLE Console, UCHAR Flags)
BOOL WINAPI InvertRgn(_In_ HDC, _In_ HRGN)
GLint GLint GLint GLint GLint GLint y
HWND WINAPI WindowFromPoint(_In_ POINT)
#define CONGUI_UPDATE_TIME
struct _GUICONSOLE_MENUITEM * PGUICONSOLE_MENUITEM
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
static VOID OnGetMinMaxInfo(PGUI_CONSOLE_DATA GuiData, PMINMAXINFO minMaxInfo)
const COLORREF s_Colors[16]
#define _In_reads_or_z_(size)
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
HMENU WINAPI CreatePopupMenu(void)
#define ConsoleFreeHeap(HeapBase)
HINSTANCE ConSrvDllInstance
BOOL WINAPI ReleaseCapture(void)
char TextBuffer[BUFFERLEN]
void WINAPI DragFinish(HDROP h)
#define ID_SYSTEM_EDIT_FIND
BOOL WINAPI Beep(IN DWORD dwFreq, IN DWORD dwDuration)
#define RtlZeroMemory(Destination, Length)
#define PM_CONSOLE_SET_TITLE
ACPI_BUFFER *RetBuffer ACPI_BUFFER *RetBuffer char ACPI_WALK_RESOURCE_CALLBACK void *Context ACPI_BUFFER *RetBuffer UINT16 ACPI_RESOURCE **ResourcePtr ACPI_GENERIC_ADDRESS *Reg UINT32 *ReturnValue UINT8 UINT8 *Slp_TypB ACPI_PHYSICAL_ADDRESS PhysicalAddress64 UINT32 UINT32 *TimeElapsed UINT32 ACPI_STATUS const char UINT32 ACPI_STATUS const char UINT32 const char const char UINT32 const char BOOLEAN Begin
static HFONT CreateDerivedFont(HFONT OrgFont, ULONG FontWeight, BOOLEAN bUnderline, BOOLEAN bStrikeOut)
BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT)
#define FROM_LEFT_4TH_BUTTON_PRESSED
BOOL WINAPI SetWindowPos(_In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
#define RIGHT_CTRL_PRESSED
#define SetWindowLongPtrW
BOOL WINAPI OpenClipboard(_In_opt_ HWND)
#define MAKEINTRESOURCEW(i)
static const GUICONSOLE_MENUITEM GuiConsoleEditMenuItems[]
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
VOID GuiPasteToGraphicsBuffer(PGRAPHICS_SCREEN_BUFFER Buffer, PGUI_CONSOLE_DATA GuiData)
VOID GuiCopyFromTextModeBuffer(PTEXTMODE_SCREEN_BUFFER Buffer, PGUI_CONSOLE_DATA GuiData)
struct _TEXTMODE_SCREEN_BUFFER * PTEXTMODE_SCREEN_BUFFER
UINT WINAPI DragQueryFileW(HDROP hDrop, UINT lFile, LPWSTR lpszwFile, UINT lLength)
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
VOID GuiApplyUserSettings(PGUI_CONSOLE_DATA GuiData, HANDLE hClientSection)
int WINAPI SetScrollInfo(_In_ HWND, _In_ int, _In_ LPCSCROLLINFO, _In_ BOOL)
UINT WINAPI RealizePalette(_In_ HDC)
static VOID AppendMenuItems(HMENU hMenu, const GUICONSOLE_MENUITEM *Items)
#define SendNotifyMessage
#define RIGHT_ALT_PRESSED
static VOID NTAPI BitBlt(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Width, _In_ ULONG Height, _In_reads_bytes_(Delta *Height) PUCHAR Buffer, _In_ ULONG BitsPerPixel, _In_ ULONG Delta)
static LRESULT OnNcDestroy(HWND hWnd)
#define WM_SETCONSOLEINFO
static BOOL OnClose(PGUI_CONSOLE_DATA GuiData)
FORCEINLINE VOID SmallRectToRect(PGUI_CONSOLE_DATA GuiData, PRECT Rect, PSMALL_RECT SmallRect)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
UINT WINAPI GetOEMCP(VOID)
PULONG MinorVersion OPTIONAL