ReactOS 0.4.15-dev-7089-gea8a49d
gui.h
Go to the documentation of this file.
1/*
2 * FreeLoader
3 * Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 */
19
20#pragma once
21
22#define TITLE_BOX_CHAR_HEIGHT 5
23
25//
26// Graphical User Interface Functions
27//
29VOID GuiDrawBackdrop(VOID); // Fills the entire screen with a backdrop
30VOID GuiFillArea(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom, UCHAR FillChar, UCHAR Attr /* Color Attributes */); // Fills the area specified with FillChar and Attr
31VOID GuiDrawShadow(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom); // Draws a shadow on the bottom and right sides of the area specified
32VOID GuiDrawBox(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom, UCHAR VertStyle, UCHAR HorzStyle, BOOLEAN Fill, BOOLEAN Shadow, UCHAR Attr); // Draws a box around the area specified
33VOID GuiDrawText(ULONG X, ULONG Y, PUCHAR Text, UCHAR Attr); // Draws text at coordinates specified
34VOID GuiDrawText2(ULONG X, ULONG Y, ULONG MaxNumChars, PUCHAR Text, UCHAR Attr); // Draws text at coordinates specified
35VOID GuiDrawStatusText(PCSTR StatusText); // Draws text at the very bottom line on the screen
36VOID GuiUpdateDateTime(VOID); // Updates the date and time
37VOID GuiSaveScreen(PUCHAR Buffer); // Saves the screen so that it can be restored later
38VOID GuiRestoreScreen(PUCHAR Buffer); // Restores the screen from a previous save
39VOID GuiMessageBox(PCSTR MessageText); // Displays a message box on the screen with an ok button
40VOID GuiMessageBoxCritical(PCSTR MessageText); // Displays a message box on the screen with an ok button using no system resources
41VOID GuiDrawProgressBar(ULONG Position, ULONG Range); // Draws the progress bar showing nPos percent filled
42
43UCHAR GuiTextToColor(PCSTR ColorText); // Converts the text color into it's equivalent color value
44UCHAR GuiTextToFillStyle(PCSTR FillStyleText); // Converts the text fill into it's equivalent fill value
45
47//
48// Menu Functions
49//
51
54 IN PCSTR MenuHeader,
55 IN PCSTR MenuFooter OPTIONAL,
56 IN BOOLEAN ShowBootOptions,
57 IN PCSTR MenuItemList[],
58 IN ULONG MenuItemCount,
59 IN ULONG DefaultMenuItem,
60 IN LONG MenuTimeOut,
61 OUT PULONG SelectedMenuItem,
62 IN BOOLEAN CanEscape,
65
66extern const UIVTBL GuiVtbl;
unsigned char BOOLEAN
static LPHIST_ENTRY Bottom
Definition: history.c:54
static LPHIST_ENTRY Top
Definition: history.c:53
VOID GuiDrawBackdrop(VOID)
Definition: gui.c:22
UCHAR GuiTextToFillStyle(PCSTR FillStyleText)
Definition: gui.c:79
VOID GuiDrawShadow(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom)
Definition: gui.c:30
VOID GuiDrawStatusText(PCSTR StatusText)
Definition: gui.c:46
VOID GuiDrawBox(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom, UCHAR VertStyle, UCHAR HorzStyle, BOOLEAN Fill, BOOLEAN Shadow, UCHAR Attr)
Definition: gui.c:34
VOID GuiDrawProgressBar(ULONG Position, ULONG Range)
Definition: gui.c:70
const UIVTBL GuiVtbl
Definition: gui.c:84
VOID GuiFillArea(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom, UCHAR FillChar, UCHAR Attr)
Definition: gui.c:26
VOID GuiRestoreScreen(PUCHAR Buffer)
Definition: gui.c:58
UCHAR GuiTextToColor(PCSTR ColorText)
Definition: gui.c:74
BOOLEAN GuiDisplayMenu(IN PCSTR MenuHeader, IN PCSTR MenuFooter OPTIONAL, IN BOOLEAN ShowBootOptions, IN PCSTR MenuItemList[], IN ULONG MenuItemCount, IN ULONG DefaultMenuItem, IN LONG MenuTimeOut, OUT PULONG SelectedMenuItem, IN BOOLEAN CanEscape, IN UiMenuKeyPressFilterCallback KeyPressFilter OPTIONAL, IN PVOID Context OPTIONAL)
VOID GuiUpdateDateTime(VOID)
Definition: gui.c:50
VOID GuiDrawText(ULONG X, ULONG Y, PUCHAR Text, UCHAR Attr)
Definition: gui.c:38
VOID GuiSaveScreen(PUCHAR Buffer)
Definition: gui.c:54
VOID GuiDrawText2(ULONG X, ULONG Y, ULONG MaxNumChars, PUCHAR Text, UCHAR Attr)
Definition: gui.c:42
VOID GuiMessageBoxCritical(PCSTR MessageText)
Definition: gui.c:66
VOID GuiMessageBox(PCSTR MessageText)
Definition: gui.c:62
Definition: bufpool.h:45
char * Text
Definition: combotst.c:136
#define Y(I)
void Fill(HDC hdc, LONG x, LONG y, COLORREF color)
Definition: drawing.cpp:107
long LONG
Definition: pedump.c:60
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68
Definition: range.c:39
Definition: ui.h:246
static COORD Position
Definition: mouse.c:34
uint32_t * PULONG
Definition: typedefs.h:59
const char * PCSTR
Definition: typedefs.h:52
#define IN
Definition: typedefs.h:39
unsigned char * PUCHAR
Definition: typedefs.h:53
uint32_t ULONG
Definition: typedefs.h:59
#define OUT
Definition: typedefs.h:40
BOOLEAN(* UiMenuKeyPressFilterCallback)(IN ULONG KeyPress, IN ULONG SelectedMenuItem, IN PVOID Context OPTIONAL)
Definition: ui.h:221
unsigned char UCHAR
Definition: xmlstorage.h:181