[FREELDR]
[reactos.git] / reactos / boot / freeldr / freeldr / ui / ui.c
index 9a6a237..015491d 100644 (file)
  *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
 #ifndef _M_ARM
+
 #include <freeldr.h>
 #include <debug.h>
 
+DBG_DEFAULT_CHANNEL(UI);
 
-ULONG  UiScreenWidth;                                                  // Screen Width
-ULONG  UiScreenHeight;                                                 // Screen Height
+ULONG  UiScreenWidth;                                                                          // Screen Width
+ULONG  UiScreenHeight;                                                                         // Screen Height
 
 UCHAR  UiStatusBarFgColor                      = COLOR_BLACK;                  // Status bar foreground color
 UCHAR  UiStatusBarBgColor                      = COLOR_CYAN;                   // Status bar background color
@@ -79,13 +81,14 @@ UIVTBL UiVtbl =
 BOOLEAN UiInitialize(BOOLEAN ShowGui)
 {
        VIDEODISPLAYMODE        UiDisplayMode; // Tells us if we are in text or graphics mode
-       BOOLEAN UiMinimal = FALSE; // Tells us if we should use a minimal console-like UI
+       BOOLEAN UiMinimal = FALSE; // Tells us if we are using a minimal console-like UI
        ULONG_PTR SectionId;
        CHAR    DisplayModeText[260];
        CHAR    SettingText[260];
        ULONG   Depth;
 
-       if (!ShowGui) {
+       if (!ShowGui)
+       {
                if (!UiVtbl.Initialize())
                {
                        MachVideoSetDisplayMode(NULL, FALSE);
@@ -94,13 +97,13 @@ BOOLEAN UiInitialize(BOOLEAN ShowGui)
                return TRUE;
        }
 
-       DPRINTM(DPRINT_UI, "Initializing User Interface.\n");
-       DPRINTM(DPRINT_UI, "Reading in UI settings from [Display] section.\n");
+       TRACE("Initializing User Interface.\n");
+       TRACE("Reading in UI settings from [Display] section.\n");
 
        DisplayModeText[0] = '\0';
        if (IniOpenSection("Display", &SectionId))
        {
-               if (! IniReadSettingByName(SectionId, "DisplayMode", DisplayModeText, sizeof(DisplayModeText)))
+               if (!IniReadSettingByName(SectionId, "DisplayMode", DisplayModeText, sizeof(DisplayModeText)))
                {
                        DisplayModeText[0] = '\0';
                }
@@ -114,7 +117,7 @@ BOOLEAN UiInitialize(BOOLEAN ShowGui)
        MachVideoGetDisplaySize(&UiScreenWidth, &UiScreenHeight, &Depth);
 
        if (VideoTextMode == UiDisplayMode)
-               UiVtbl = UiMinimal ? MiniTuiVtbl : TuiVtbl;
+               UiVtbl = (UiMinimal ? MiniTuiVtbl : TuiVtbl);
        else
                UiVtbl = GuiVtbl;
 
@@ -219,52 +222,14 @@ BOOLEAN UiInitialize(BOOLEAN ShowGui)
        // Draw the backdrop and fade it in if special effects are enabled
        UiFadeInBackdrop();
 
-       DPRINTM(DPRINT_UI, "UiInitialize() returning TRUE.\n");
-       return TRUE;
-}
-
-BOOLEAN SetupUiInitialize(VOID)
-{
-       VIDEODISPLAYMODE        UiDisplayMode;
-       CHAR    DisplayModeText[260];
-       ULONG   Depth, Length;
-
-
-       DisplayModeText[0] = '\0';
-
-       UiDisplayMode = MachVideoSetDisplayMode(DisplayModeText, TRUE);
-       MachVideoGetDisplaySize(&UiScreenWidth, &UiScreenHeight, &Depth);
-
-       UiVtbl = TuiVtbl;
-       UiVtbl.Initialize();
-
-       // Draw the backdrop and fade it in if special effects are enabled
-       UiVtbl.FillArea(0,
-                       0,
-                       UiScreenWidth - 1,
-                       UiScreenHeight - 2,
-                       0,
-                       ATTR(UiBackdropFgColor, UiBackdropBgColor));
-
-       UiDrawTime = FALSE;
-       UiStatusBarBgColor = 7;
-
-       Length = strlen("ReactOS " KERNEL_VERSION_STR " Setup");
-       memset(DisplayModeText, 0xcd, Length + 2);
-       DisplayModeText[Length + 2] = '\0';
-
-       UiVtbl.DrawText(4, 1, "ReactOS " KERNEL_VERSION_STR " Setup", ATTR(COLOR_GRAY, UiBackdropBgColor));
-       UiVtbl.DrawText(3, 2, DisplayModeText, ATTR(COLOR_GRAY, UiBackdropBgColor));
-
-       DPRINTM(DPRINT_UI, "UiInitialize() returning TRUE.\n");
-
+       TRACE("UiInitialize() returning TRUE.\n");
        return TRUE;
 }
 
 VOID UiUnInitialize(PCSTR BootText)
 {
        UiDrawBackdrop();
-       UiDrawStatusText("Booting...");
+       UiDrawStatusText(BootText);
        UiInfoBox(BootText);
 
        UiVtbl.UnInitialize();
@@ -312,12 +277,12 @@ VOID UiUpdateDateTime(VOID)
 
 VOID UiInfoBox(PCSTR MessageText)
 {
-       ULONG           TextLength;
+       SIZE_T          TextLength;
        ULONG           BoxWidth;
        ULONG           BoxHeight;
        ULONG           LineBreakCount;
-       ULONG           Index;
-       ULONG           LastIndex;
+       SIZE_T          Index;
+       SIZE_T          LastIndex;
        ULONG           Left;
        ULONG           Top;
        ULONG           Right;
@@ -340,7 +305,7 @@ VOID UiInfoBox(PCSTR MessageText)
                {
                        if ((Index - LastIndex) > BoxWidth)
                        {
-                               BoxWidth = (Index - LastIndex);
+                               BoxWidth = (ULONG)(Index - LastIndex);
                        }
                }
        }
@@ -403,7 +368,7 @@ VOID UiDrawProgressBar(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom, ULONG P
 
 VOID UiShowMessageBoxesInSection(PCSTR SectionName)
 {
-       ULONG           Idx;
+       ULONG   Idx;
        CHAR    SettingName[80];
        CHAR    SettingValue[80];
        PCHAR   MessageBoxText;
@@ -453,7 +418,7 @@ VOID UiShowMessageBoxesInSection(PCSTR SectionName)
 
 VOID UiEscapeString(PCHAR String)
 {
-       ULONG           Idx;
+       ULONG   Idx;
 
        for (Idx=0; Idx<strlen(String); Idx++)
        {
@@ -477,9 +442,9 @@ VOID UiTruncateStringEllipsis(PCHAR StringText, ULONG MaxChars)
        }
 }
 
-BOOLEAN UiDisplayMenu(PCSTR MenuItemList[], ULONG MenuItemCount, ULONG DefaultMenuItem, LONG MenuTimeOut, ULONG* SelectedMenuItem, BOOLEAN CanEscape, UiMenuKeyPressFilterCallback KeyPressFilter)
+BOOLEAN UiDisplayMenu(PCSTR MenuTitle, PCSTR MenuItemList[], ULONG MenuItemCount, ULONG DefaultMenuItem, LONG MenuTimeOut, ULONG* SelectedMenuItem, BOOLEAN CanEscape, UiMenuKeyPressFilterCallback KeyPressFilter)
 {
-       return UiVtbl.DisplayMenu(MenuItemList, MenuItemCount, DefaultMenuItem, MenuTimeOut, SelectedMenuItem, CanEscape, KeyPressFilter);
+       return UiVtbl.DisplayMenu(MenuTitle, MenuItemList, MenuItemCount, DefaultMenuItem, MenuTimeOut, SelectedMenuItem, CanEscape, KeyPressFilter);
 }
 
 VOID UiFadeInBackdrop(VOID)
@@ -496,4 +461,5 @@ BOOLEAN UiEditBox(PCSTR MessageText, PCHAR EditTextBuffer, ULONG Length)
 {
        return UiVtbl.EditBox(MessageText, EditTextBuffer, Length);
 }
+
 #endif