ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

tui.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.