Sync with trunk r63430.
[reactos.git] / win32ss / user / winsrv / consrv / include / term.h
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS Console Server DLL
4 * FILE: win32ss/user/winsrv/consrv/include/term.h
5 * PURPOSE: Internal Frontend Interface
6 * PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
7 */
8
9 #pragma once
10
11 /* Macros used to call functions in the FRONTEND_VTBL virtual table */
12
13 #define TermDrawRegion(Console, Region) \
14 (Console)->TermIFace.Vtbl->DrawRegion(&(Console)->TermIFace, (Region))
15 #define TermWriteStream(Console, Block, CurStartX, CurStartY, ScrolledLines, Buffer, Length) \
16 (Console)->TermIFace.Vtbl->WriteStream(&(Console)->TermIFace, (Block), (CurStartX), (CurStartY), \
17 (ScrolledLines), (Buffer), (Length))
18 #define TermSetCursorInfo(Console, ScreenBuffer) \
19 (Console)->TermIFace.Vtbl->SetCursorInfo(&(Console)->TermIFace, (ScreenBuffer))
20 #define TermSetScreenInfo(Console, ScreenBuffer, OldCursorX, OldCursorY) \
21 (Console)->TermIFace.Vtbl->SetScreenInfo(&(Console)->TermIFace, (ScreenBuffer), (OldCursorX), (OldCursorY))
22 #define TermResizeTerminal(Console) \
23 (Console)->TermIFace.Vtbl->ResizeTerminal(&(Console)->TermIFace)
24 #define TermSetActiveScreenBuffer(Console) \
25 (Console)->TermIFace.Vtbl->SetActiveScreenBuffer(&(Console)->TermIFace)
26 #define TermReleaseScreenBuffer(Console, ScreenBuffer) \
27 (Console)->TermIFace.Vtbl->ReleaseScreenBuffer(&(Console)->TermIFace, (ScreenBuffer))
28 #define TermProcessKeyCallback(Console, Msg, KeyStateMenu, ShiftState, VirtualKeyCode, Down) \
29 (Console)->TermIFace.Vtbl->ProcessKeyCallback(&(Console)->TermIFace, (Msg), (KeyStateMenu), (ShiftState), (VirtualKeyCode), (Down))
30 #define TermRefreshInternalInfo(Console) \
31 (Console)->TermIFace.Vtbl->RefreshInternalInfo(&(Console)->TermIFace)
32
33 #define TermChangeTitle(Console) \
34 (Console)->TermIFace.Vtbl->ChangeTitle(&(Console)->TermIFace)
35 #define TermChangeIcon(Console, IconHandle) \
36 (Console)->TermIFace.Vtbl->ChangeIcon(&(Console)->TermIFace, (IconHandle))
37 #define TermGetConsoleWindowHandle(Console) \
38 (Console)->TermIFace.Vtbl->GetConsoleWindowHandle(&(Console)->TermIFace)
39 #define TermGetLargestConsoleWindowSize(Console, pSize) \
40 (Console)->TermIFace.Vtbl->GetLargestConsoleWindowSize(&(Console)->TermIFace, (pSize))
41 #define TermGetSelectionInfo(Console, pSelectionInfo) \
42 (Console)->TermIFace.Vtbl->GetSelectionInfo(&(Console)->TermIFace, (pSelectionInfo))
43 #define TermSetPalette(Console, PaletteHandle, PaletteUsage) \
44 (Console)->TermIFace.Vtbl->SetPalette(&(Console)->TermIFace, (PaletteHandle), (PaletteUsage))
45 #define TermGetDisplayMode(Console) \
46 (Console)->TermIFace.Vtbl->GetDisplayMode(&(Console)->TermIFace)
47 #define TermSetDisplayMode(Console, NewMode) \
48 (Console)->TermIFace.Vtbl->SetDisplayMode(&(Console)->TermIFace, (NewMode))
49 #define TermShowMouseCursor(Console, Show) \
50 (Console)->TermIFace.Vtbl->ShowMouseCursor(&(Console)->TermIFace, (Show))
51 #define TermSetMouseCursor(Console, CursorHandle) \
52 (Console)->TermIFace.Vtbl->SetMouseCursor(&(Console)->TermIFace, (CursorHandle))
53 #define TermMenuControl(Console, CmdIdLow, CmdIdHigh) \
54 (Console)->TermIFace.Vtbl->MenuControl(&(Console)->TermIFace, (CmdIdLow), (CmdIdHigh))
55 #define TermSetMenuClose(Console, Enable) \
56 (Console)->TermIFace.Vtbl->SetMenuClose(&(Console)->TermIFace, (Enable))
57
58 /* EOF */