mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-29 12:23:30 +00:00
Base is FreeLdr from trunk r25063. svn path=/branches/winldr/; revision=25066
101 lines
5.6 KiB
C
101 lines
5.6 KiB
C
/*
|
|
* FreeLoader
|
|
* Copyright (C) 1998-2003 Brian Palmer <[email protected]>
|
|
*
|
|
* 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., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
*/
|
|
|
|
#ifndef __UI_H
|
|
#define __UI_H
|
|
|
|
|
|
extern ULONG UiScreenWidth; // Screen Width
|
|
extern ULONG UiScreenHeight; // Screen Height
|
|
|
|
extern UCHAR UiStatusBarFgColor; // Status bar foreground color
|
|
extern UCHAR UiStatusBarBgColor; // Status bar background color
|
|
extern UCHAR UiBackdropFgColor; // Backdrop foreground color
|
|
extern UCHAR UiBackdropBgColor; // Backdrop background color
|
|
extern UCHAR UiBackdropFillStyle; // Backdrop fill style
|
|
extern UCHAR UiTitleBoxFgColor; // Title box foreground color
|
|
extern UCHAR UiTitleBoxBgColor; // Title box background color
|
|
extern UCHAR UiMessageBoxFgColor; // Message box foreground color
|
|
extern UCHAR UiMessageBoxBgColor; // Message box background color
|
|
extern UCHAR UiMenuFgColor; // Menu foreground color
|
|
extern UCHAR UiMenuBgColor; // Menu background color
|
|
extern UCHAR UiTextColor; // Normal text color
|
|
extern UCHAR UiSelectedTextColor; // Selected text color
|
|
extern UCHAR UiSelectedTextBgColor; // Selected text background color
|
|
extern UCHAR UiEditBoxTextColor; // Edit box text color
|
|
extern UCHAR UiEditBoxBgColor; // Edit box text background color
|
|
|
|
extern CHAR UiTitleBoxTitleText[260]; // Title box's title text
|
|
|
|
extern BOOLEAN UserInterfaceUp; // Tells us if the user interface is displayed
|
|
|
|
extern BOOLEAN UiUseSpecialEffects; // Tells us if we should use fade effects
|
|
extern BOOLEAN UiCenterMenu;
|
|
extern BOOLEAN UiMenuBox;
|
|
extern BOOLEAN UiMinimal;
|
|
extern CHAR UiTimeText[];
|
|
|
|
extern const CHAR UiMonthNames[12][15];
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// User Interface Functions
|
|
//
|
|
///////////////////////////////////////////////////////////////////////////////////////
|
|
BOOLEAN UiInitialize(BOOLEAN ShowGui); // Initialize User-Interface
|
|
BOOLEAN SetupUiInitialize(VOID); // Initialize User-Interface
|
|
VOID UiUnInitialize(PCSTR BootText); // Un-initialize User-Interface
|
|
VOID UiDrawBackdrop(VOID); // Fills the entire screen with a backdrop
|
|
VOID UiFillArea(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom, CHAR FillChar, UCHAR Attr /* Color Attributes */); // Fills the area specified with FillChar and Attr
|
|
VOID UiDrawShadow(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom); // Draws a shadow on the bottom and right sides of the area specified
|
|
VOID UiDrawBox(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
|
|
VOID UiDrawText(ULONG X, ULONG Y, PCSTR Text, UCHAR Attr); // Draws text at coordinates specified
|
|
VOID UiDrawCenteredText(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom, PCSTR TextString, UCHAR Attr); // Draws centered text at the coordinates specified and clips the edges
|
|
VOID UiDrawStatusText(PCSTR StatusText); // Draws text at the very bottom line on the screen
|
|
VOID UiUpdateDateTime(VOID); // Updates the date and time
|
|
VOID UiInfoBox(PCSTR MessageText); // Displays a info box on the screen
|
|
VOID UiMessageBox(PCSTR MessageText); // Displays a message box on the screen with an ok button
|
|
VOID UiMessageBoxCritical(PCSTR MessageText); // Displays a message box on the screen with an ok button using no system resources
|
|
VOID UiDrawProgressBarCenter(ULONG Position, ULONG Range, PCHAR ProgressText); // Draws the progress bar showing nPos percent filled
|
|
VOID UiDrawProgressBar(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom, ULONG Position, ULONG Range, PCHAR ProgressText); // Draws the progress bar showing nPos percent filled
|
|
VOID UiShowMessageBoxesInSection(PCSTR SectionName); // Displays all the message boxes in a given section
|
|
VOID UiEscapeString(PCHAR String); // Processes a string and changes all occurances of "\n" to '\n'
|
|
BOOLEAN UiEditBox(PCSTR MessageText, PCHAR EditTextBuffer, ULONG Length);
|
|
|
|
UCHAR UiTextToColor(PCSTR ColorText); // Converts the text color into it's equivalent color value
|
|
UCHAR UiTextToFillStyle(PCSTR FillStyleText); // Converts the text fill into it's equivalent fill value
|
|
|
|
VOID UiTruncateStringEllipsis(PCHAR StringText, ULONG MaxChars); // Truncates a string to MaxChars by adding an ellipsis on the end '...'
|
|
|
|
VOID UiFadeInBackdrop(VOID); // Draws the backdrop and fades the screen in
|
|
VOID UiFadeOut(VOID); // Fades the screen out
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Menu Functions
|
|
//
|
|
///////////////////////////////////////////////////////////////////////////////////////
|
|
typedef BOOLEAN (*UiMenuKeyPressFilterCallback)(ULONG KeyPress);
|
|
|
|
BOOLEAN UiDisplayMenu(PCSTR MenuItemList[], ULONG MenuItemCount, ULONG DefaultMenuItem, LONG MenuTimeOut, ULONG* SelectedMenuItem, BOOLEAN CanEscape, UiMenuKeyPressFilterCallback KeyPressFilter);
|
|
|
|
|
|
|
|
#endif // #defined __UI_H
|