Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygentui.h
Go to the documentation of this file.
00001 /* 00002 * FreeLoader 00003 * Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com> 00004 * 00005 * This program is free software; you can redistribute it and/or modify 00006 * it under the terms of the GNU General Public License as published by 00007 * the Free Software Foundation; either version 2 of the License, or 00008 * (at your option) any later version. 00009 * 00010 * This program is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 * GNU General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU General Public License along 00016 * with this program; if not, write to the Free Software Foundation, Inc., 00017 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 00018 */ 00019 00020 #pragma once 00021 00022 #define TUI_SCREEN_MEM 0xB8000 00023 #define TUI_TITLE_BOX_CHAR_HEIGHT 5 00024 00026 // 00027 // Textual User Interface Functions 00028 // 00030 BOOLEAN TuiInitialize(VOID); // Initialize User-Interface 00031 VOID TuiUnInitialize(VOID); // Un-initialize User-Interface 00032 00033 VOID TuiDrawBackdrop(VOID); // Fills the entire screen with a backdrop 00034 VOID TuiFillArea(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom, CHAR FillChar, UCHAR Attr /* Color Attributes */); // Fills the area specified with FillChar and Attr 00035 VOID TuiDrawShadow(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom); // Draws a shadow on the bottom and right sides of the area specified 00036 VOID TuiDrawBox(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 00037 VOID TuiDrawText(ULONG X, ULONG Y, PCSTR Text, UCHAR Attr); // Draws text at coordinates specified 00038 VOID TuiDrawCenteredText(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom, PCSTR TextString, UCHAR Attr); // Draws centered text at the coordinates specified and clips the edges 00039 VOID TuiDrawStatusText(PCSTR StatusText); // Draws text at the very bottom line on the screen 00040 VOID TuiUpdateDateTime(VOID); // Updates the date and time 00041 VOID TuiSaveScreen(PUCHAR Buffer); // Saves the screen so that it can be restored later 00042 VOID TuiRestoreScreen(PUCHAR Buffer); // Restores the screen from a previous save 00043 VOID TuiMessageBox(PCSTR MessageText); // Displays a message box on the screen with an ok button 00044 VOID TuiMessageBoxCritical(PCSTR MessageText); // Displays a message box on the screen with an ok button using no system resources 00045 VOID TuiDrawProgressBarCenter(ULONG Position, ULONG Range, PCHAR ProgressText); // Draws the progress bar showing nPos percent filled 00046 VOID TuiDrawProgressBar(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom, ULONG Position, ULONG Range, PCHAR ProgressText); // Draws the progress bar showing nPos percent filled 00047 BOOLEAN TuiEditBox(PCSTR MessageText, PCHAR EditTextBuffer, ULONG Length); 00048 int TuiPrintf(const char *format, ... ); 00049 UCHAR TuiTextToColor(PCSTR ColorText); // Converts the text color into it's equivalent color value 00050 UCHAR TuiTextToFillStyle(PCSTR FillStyleText); // Converts the text fill into it's equivalent fill value 00051 00052 VOID TuiFadeInBackdrop(VOID); // Draws the backdrop and fades the screen in 00053 VOID TuiFadeOut(VOID); // Fades the screen out 00054 00056 // 00057 // Menu Functions 00058 // 00060 00061 struct tagUI_MENU_INFO 00062 { 00063 PCSTR *MenuItemList; 00064 ULONG MenuItemCount; 00065 LONG MenuTimeRemaining; 00066 ULONG SelectedMenuItem; 00067 00068 ULONG Left; 00069 ULONG Top; 00070 ULONG Right; 00071 ULONG Bottom; 00072 00073 }; 00074 00075 VOID NTAPI TuiCalcMenuBoxSize(PUI_MENU_INFO MenuInfo); 00076 VOID TuiDrawMenu(PUI_MENU_INFO MenuInfo); 00077 VOID NTAPI TuiDrawMenuBox(PUI_MENU_INFO MenuInfo); 00078 VOID NTAPI TuiDrawMenuItem(PUI_MENU_INFO MenuInfo, ULONG MenuItemNumber); 00079 ULONG NTAPI TuiProcessMenuKeyboardEvent(PUI_MENU_INFO MenuInfo, UiMenuKeyPressFilterCallback KeyPressFilter); 00080 BOOLEAN TuiDisplayMenu(PCSTR MenuItemList[], ULONG MenuItemCount, ULONG DefaultMenuItem, LONG MenuTimeOut, ULONG* SelectedMenuItem, BOOLEAN CanEscape, UiMenuKeyPressFilterCallback KeyPressFilter); 00081 00082 /* Definitions for corners, depending on HORIZ and VERT */ 00083 #define UL (0xda) 00084 #define UR (0xbf) /* HORZ and VERT */ 00085 #define LL (0xc0) 00086 #define LR (0xd9) 00087 00088 #define D_UL (0xc9) 00089 #define D_UR (0xbb) /* D_HORZ and D_VERT */ 00090 #define D_LL (0xc8) 00091 #define D_LR (0xbc) 00092 00093 #define HD_UL (0xd5) 00094 #define HD_UR (0xb8) /* D_HORZ and VERT */ 00095 #define HD_LL (0xd4) 00096 #define HD_LR (0xbe) 00097 00098 #define VD_UL (0xd6) 00099 #define VD_UR (0xb7) /* HORZ and D_VERT */ 00100 #define VD_LL (0xd3) 00101 #define VD_LR (0xbd) 00102 00103 extern const UIVTBL TuiVtbl; Generated on Sun May 27 2012 04:19:15 for ReactOS by
1.7.6.1
|