reactos/base/setup/usetup/consup.h
2020-10-02 00:04:11 +02:00

231 lines
4.2 KiB
C

/*
* ReactOS kernel
* Copyright (C) 2002 ReactOS Team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS text-mode setup
* FILE: base/setup/usetup/consup.h
* PURPOSE: Console support functions
* PROGRAMMER:
*/
#pragma once
#define FOREGROUND_WHITE (FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE)
#define FOREGROUND_YELLOW (FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN)
#define BACKGROUND_WHITE (BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE)
/* Text style */
#define TEXT_STYLE_NORMAL 0x00000001
#define TEXT_STYLE_HIGHLIGHT 0x00000002
#define TEXT_STYLE_UNDERLINE 0x00000004
/* Text type */
#define TEXT_TYPE_REGULAR 0x00000008
#define TEXT_TYPE_STATUS 0x00000010
/* Text align */
#define TEXT_ALIGN_DEFAULT 0x00000020
#define TEXT_ALIGN_RIGHT 0x00000040
#define TEXT_ALIGN_LEFT 0x00000080
#define TEXT_ALIGN_CENTER 0x00000100
/* Text padding */
#define TEXT_PADDING_SMALL 0x00000200 /* One space */
#define TEXT_PADDING_MEDIUM 0x00000400 /* Two spaces */
#define TEXT_PADDING_BIG 0x00000800 /* Three spaces */
extern HANDLE StdInput, StdOutput;
extern SHORT xScreen, yScreen;
BOOLEAN
CONSOLE_Init(VOID);
VOID
CONSOLE_ClearScreen(VOID);
VOID
CONSOLE_ConInKey(
OUT PINPUT_RECORD Buffer);
BOOLEAN
CONSOLE_ConInKeyPeek(
OUT PINPUT_RECORD Buffer);
VOID
CONSOLE_ConOutChar(
IN CHAR c);
VOID
CONSOLE_ConOutPrintfV(
IN LPCSTR szFormat,
IN va_list args);
VOID
__cdecl
CONSOLE_ConOutPrintf(
IN LPCSTR szFormat,
...);
VOID
CONSOLE_ConOutPuts(
IN LPCSTR szText);
BOOL
CONSOLE_Flush(VOID);
VOID
CONSOLE_GetCursorXY(
OUT PSHORT x,
OUT PSHORT y);
SHORT
CONSOLE_GetCursorX(VOID);
SHORT
CONSOLE_GetCursorY(VOID);
VOID
CONSOLE_InvertTextXY(
IN SHORT x,
IN SHORT y,
IN SHORT col,
IN SHORT row);
VOID
CONSOLE_NormalTextXY(
IN SHORT x,
IN SHORT y,
IN SHORT col,
IN SHORT row);
VOID
__cdecl
CONSOLE_PrintTextXY(
IN SHORT x,
IN SHORT y,
IN LPCSTR fmt,
...);
VOID
__cdecl
CONSOLE_PrintTextXYN(
IN SHORT x,
IN SHORT y,
IN SHORT len,
IN LPCSTR fmt,
...);
VOID
CONSOLE_SetCursorType(
IN BOOL bInsert,
IN BOOL bVisible);
VOID
CONSOLE_SetCursorXY(
IN SHORT x,
IN SHORT y);
VOID
CONSOLE_SetCursorXY(
IN SHORT x,
IN SHORT y);
VOID
CONSOLE_SetHighlightedTextXY(
IN SHORT x,
IN SHORT y,
IN LPCSTR Text);
VOID
CONSOLE_SetInputTextXY(
IN SHORT x,
IN SHORT y,
IN SHORT len,
IN LPCWSTR Text);
VOID
CONSOLE_SetInvertedTextXY(
IN SHORT x,
IN SHORT y,
IN LPCSTR Text);
VOID
CONSOLE_SetStatusTextV(
IN LPCSTR fmt,
IN va_list args);
VOID
__cdecl
CONSOLE_SetStatusText(
IN LPCSTR fmt,
...);
VOID
CONSOLE_SetStatusTextXV(
IN SHORT x,
IN LPCSTR fmt,
IN va_list args);
VOID
__cdecl
CONSOLE_SetStatusTextX(
IN SHORT x,
IN LPCSTR fmt,
...);
VOID
__cdecl
CONSOLE_SetStatusTextAutoFitX(
IN SHORT x,
IN LPCSTR fmt,
...);
VOID
CONSOLE_SetTextXY(
IN SHORT x,
IN SHORT y,
IN LPCSTR Text);
VOID
CONSOLE_ClearTextXY(
IN SHORT x,
IN SHORT y,
IN SHORT Length);
VOID
CONSOLE_SetUnderlinedTextXY(
IN SHORT x,
IN SHORT y,
IN LPCSTR Text);
VOID
CONSOLE_SetStyledText(
IN SHORT x,
IN SHORT y,
IN INT Flags,
IN LPCSTR Text);
VOID
CONSOLE_ClearStyledText(
IN SHORT x,
IN SHORT y,
IN INT Flags,
IN SHORT Length);
/* EOF */