VOID MiniTuiDrawBackdrop(VOID) { // // Fill in a black background // TuiFillArea(0, 0, UiScreenWidth - 1, UiScreenHeight - 1, 0, 0); // // Update the screen buffer // VideoCopyOffScreenBufferToVRAM(); }
VOID TuiDrawBackdrop(VOID) { // // Fill in the background (excluding title box & status bar) // TuiFillArea(0, TUI_TITLE_BOX_CHAR_HEIGHT, UiScreenWidth - 1, UiScreenHeight - 2, UiBackdropFillStyle, ATTR(UiBackdropFgColor, UiBackdropBgColor)); // // Draw the title box // TuiDrawBox(0, 0, UiScreenWidth - 1, TUI_TITLE_BOX_CHAR_HEIGHT - 1, D_VERT, D_HORZ, TRUE, FALSE, ATTR(UiTitleBoxFgColor, UiTitleBoxBgColor)); // // Draw version text // TuiDrawText(2, 1, GetFreeLoaderVersionString(), ATTR(UiTitleBoxFgColor, UiTitleBoxBgColor)); // // Draw copyright // TuiDrawText(2, 2, BY_AUTHOR, ATTR(UiTitleBoxFgColor, UiTitleBoxBgColor)); TuiDrawText(2, 3, AUTHOR_EMAIL, ATTR(UiTitleBoxFgColor, UiTitleBoxBgColor)); // // Draw help text // TuiDrawText(UiScreenWidth - 16, 3, /*"F1 for Help"*/"F8 for Options", ATTR(UiTitleBoxFgColor, UiTitleBoxBgColor)); // // Draw title text // TuiDrawText( (UiScreenWidth / 2) - (strlen(UiTitleBoxTitleText) / 2), 2, UiTitleBoxTitleText, ATTR(UiTitleBoxFgColor, UiTitleBoxBgColor)); // // Draw status bar // TuiDrawStatusText("Welcome to FreeLoader!"); // // Update the date & time // TuiUpdateDateTime(); VideoCopyOffScreenBufferToVRAM(); }
/* * DrawBox() * This function assumes coordinates are zero-based */ VOID TuiDrawBox(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom, UCHAR VertStyle, UCHAR HorzStyle, BOOLEAN Fill, BOOLEAN Shadow, UCHAR Attr) { UCHAR ULCorner, URCorner, LLCorner, LRCorner; // Calculate the corner values if (HorzStyle == HORZ) { if (VertStyle == VERT) { ULCorner = UL; URCorner = UR; LLCorner = LL; LRCorner = LR; } else // VertStyle == D_VERT { ULCorner = VD_UL; URCorner = VD_UR; LLCorner = VD_LL; LRCorner = VD_LR; } } else // HorzStyle == D_HORZ { if (VertStyle == VERT) { ULCorner = HD_UL; URCorner = HD_UR; LLCorner = HD_LL; LRCorner = HD_LR; } else // VertStyle == D_VERT { ULCorner = D_UL; URCorner = D_UR; LLCorner = D_LL; LRCorner = D_LR; } } // Fill in box background if (Fill) { TuiFillArea(Left, Top, Right, Bottom, ' ', Attr); } // Fill in corners TuiFillArea(Left, Top, Left, Top, ULCorner, Attr); TuiFillArea(Right, Top, Right, Top, URCorner, Attr); TuiFillArea(Left, Bottom, Left, Bottom, LLCorner, Attr); TuiFillArea(Right, Bottom, Right, Bottom, LRCorner, Attr); // Fill in left line TuiFillArea(Left, Top+1, Left, Bottom-1, VertStyle, Attr); // Fill in top line TuiFillArea(Left+1, Top, Right-1, Top, HorzStyle, Attr); // Fill in right line TuiFillArea(Right, Top+1, Right, Bottom-1, VertStyle, Attr); // Fill in bottom line TuiFillArea(Left+1, Bottom, Right-1, Bottom, HorzStyle, Attr); // Draw the shadow if (Shadow) { TuiDrawShadow(Left, Top, Right, Bottom); } }