MdeModulePkg: Clean up source files
1. Do not use tab characters 2. No trailing white space in one line 3. All files must end with CRLF Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
This commit is contained in:
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
The application to show the Boot Manager Menu.
|
||||
|
||||
Copyright (c) 2011 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@ -91,19 +91,19 @@ UINTN
|
||||
GetLineWidth (
|
||||
IN EFI_STRING_ID StringId
|
||||
)
|
||||
{
|
||||
{
|
||||
UINTN Index;
|
||||
UINTN IncrementValue;
|
||||
EFI_STRING String;
|
||||
UINTN LineWidth;
|
||||
|
||||
|
||||
LineWidth = 0;
|
||||
String = HiiGetString (gStringPackHandle, StringId, NULL);
|
||||
|
||||
String = HiiGetString (gStringPackHandle, StringId, NULL);
|
||||
|
||||
if (String != NULL) {
|
||||
Index = 0;
|
||||
IncrementValue = 1;
|
||||
|
||||
|
||||
do {
|
||||
//
|
||||
// Advance to the null-terminator or to the first width directive
|
||||
@ -113,7 +113,7 @@ GetLineWidth (
|
||||
Index++, LineWidth = LineWidth + IncrementValue
|
||||
)
|
||||
;
|
||||
|
||||
|
||||
//
|
||||
// We hit the null-terminator, we now have a count
|
||||
//
|
||||
@ -137,11 +137,11 @@ GetLineWidth (
|
||||
Index++;
|
||||
IncrementValue = 2;
|
||||
}
|
||||
} while (String[Index] != 0);
|
||||
} while (String[Index] != 0);
|
||||
FreePool (String);
|
||||
}
|
||||
|
||||
return LineWidth;
|
||||
|
||||
return LineWidth;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -150,10 +150,10 @@ GetLineWidth (
|
||||
@param BootMenuData The boot menu data to be processed.
|
||||
|
||||
@return EFI_SUCCESS calculate boot menu information successful.
|
||||
@retval EFI_INVALID_PARAMETER Input parameter is invalid
|
||||
@retval EFI_INVALID_PARAMETER Input parameter is invalid
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFI_STATUS
|
||||
InitializeBootMenuScreen (
|
||||
IN OUT BOOT_MENU_POPUP_DATA *BootMenuData
|
||||
)
|
||||
@ -172,21 +172,21 @@ InitializeBootMenuScreen (
|
||||
//
|
||||
// Get maximum string width
|
||||
//
|
||||
MaxStrWidth = 0;
|
||||
for (Index = 0; Index < TITLE_TOKEN_COUNT; Index++) {
|
||||
MaxStrWidth = 0;
|
||||
for (Index = 0; Index < TITLE_TOKEN_COUNT; Index++) {
|
||||
StrWidth = GetLineWidth (BootMenuData->TitleToken[Index]);
|
||||
MaxStrWidth = MaxStrWidth > StrWidth ? MaxStrWidth : StrWidth;
|
||||
}
|
||||
|
||||
|
||||
for (Index = 0; Index < BootMenuData->ItemCount; Index++) {
|
||||
StrWidth = GetLineWidth (BootMenuData->PtrTokens[Index]);
|
||||
MaxStrWidth = MaxStrWidth > StrWidth ? MaxStrWidth : StrWidth;
|
||||
}
|
||||
|
||||
for (Index = 0; Index < HELP_TOKEN_COUNT; Index++) {
|
||||
MaxStrWidth = MaxStrWidth > StrWidth ? MaxStrWidth : StrWidth;
|
||||
}
|
||||
|
||||
for (Index = 0; Index < HELP_TOKEN_COUNT; Index++) {
|
||||
StrWidth = GetLineWidth (BootMenuData->HelpToken[Index]);
|
||||
MaxStrWidth = MaxStrWidth > StrWidth ? MaxStrWidth : StrWidth;
|
||||
}
|
||||
}
|
||||
//
|
||||
// query current row and column to calculate boot menu location
|
||||
//
|
||||
@ -195,10 +195,10 @@ InitializeBootMenuScreen (
|
||||
gST->ConOut->Mode->Mode,
|
||||
&Column,
|
||||
&Row
|
||||
);
|
||||
|
||||
MaxPrintRows = Row - 6;
|
||||
UnSelectableItmes = TITLE_TOKEN_COUNT + 2 + HELP_TOKEN_COUNT + 2;
|
||||
);
|
||||
|
||||
MaxPrintRows = Row - 6;
|
||||
UnSelectableItmes = TITLE_TOKEN_COUNT + 2 + HELP_TOKEN_COUNT + 2;
|
||||
BootMenuData->MenuScreen.Width = MaxStrWidth + 8;
|
||||
if (BootMenuData->ItemCount + UnSelectableItmes > MaxPrintRows) {
|
||||
BootMenuData->MenuScreen.Height = MaxPrintRows;
|
||||
@ -211,10 +211,10 @@ InitializeBootMenuScreen (
|
||||
BootMenuData->ScrollBarControl.HasScrollBar = FALSE;
|
||||
BootMenuData->ScrollBarControl.ItemCountPerScreen = BootMenuData->ItemCount;
|
||||
BootMenuData->ScrollBarControl.FirstItem = 0;
|
||||
BootMenuData->ScrollBarControl.LastItem = BootMenuData->ItemCount - 1;
|
||||
BootMenuData->ScrollBarControl.LastItem = BootMenuData->ItemCount - 1;
|
||||
}
|
||||
BootMenuData->MenuScreen.StartCol = (Column - BootMenuData->MenuScreen.Width) / 2;
|
||||
BootMenuData->MenuScreen.StartRow = (Row - BootMenuData->MenuScreen.Height) / 2;
|
||||
BootMenuData->MenuScreen.StartCol = (Column - BootMenuData->MenuScreen.Width) / 2;
|
||||
BootMenuData->MenuScreen.StartRow = (Row - BootMenuData->MenuScreen.Height) / 2;
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
@ -222,7 +222,7 @@ InitializeBootMenuScreen (
|
||||
This function uses check boot option is wheher setup application or no
|
||||
|
||||
@param BootOption Pointer to EFI_BOOT_MANAGER_LOAD_OPTION array.
|
||||
|
||||
|
||||
@retval TRUE This boot option is setup application.
|
||||
@retval FALSE This boot options isn't setup application
|
||||
|
||||
@ -291,9 +291,9 @@ IgnoreBootOption (
|
||||
@param BootOption Pointer to EFI_BOOT_MANAGER_LOAD_OPTION array.
|
||||
@param BootOptionCount Number of boot option.
|
||||
@param BootMenuData The Input BootMenuData to be initialized.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Initialize boot menu data successful.
|
||||
@retval EFI_INVALID_PARAMETER Input parameter is invalid.
|
||||
@retval EFI_INVALID_PARAMETER Input parameter is invalid.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
@ -305,7 +305,7 @@ InitializeBootMenuData (
|
||||
{
|
||||
UINTN Index;
|
||||
UINTN StrIndex;
|
||||
|
||||
|
||||
if (BootOption == NULL || BootMenuData == NULL) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
@ -324,21 +324,21 @@ InitializeBootMenuData (
|
||||
|
||||
ASSERT (BootOption[Index].Description != NULL);
|
||||
BootMenuData->PtrTokens[StrIndex++] = HiiSetString (
|
||||
gStringPackHandle,
|
||||
gStringPackHandle,
|
||||
0,
|
||||
BootOption[Index].Description,
|
||||
NULL
|
||||
);
|
||||
}
|
||||
|
||||
BootMenuData->ItemCount = StrIndex;
|
||||
BootMenuData->ItemCount = StrIndex;
|
||||
BootMenuData->HelpToken[0] = STRING_TOKEN (STR_BOOT_POPUP_MENU_HELP1_STRING);
|
||||
BootMenuData->HelpToken[1] = STRING_TOKEN (STR_BOOT_POPUP_MENU_HELP2_STRING);
|
||||
BootMenuData->HelpToken[2] = STRING_TOKEN (STR_BOOT_POPUP_MENU_HELP3_STRING);
|
||||
InitializeBootMenuScreen (BootMenuData);
|
||||
BootMenuData->SelectItem = 0;
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
This function uses input select item to highlight selected item
|
||||
@ -347,9 +347,9 @@ InitializeBootMenuData (
|
||||
@param WantSelectItem The user wants to select item.
|
||||
@param BootMenuData The boot menu data to be processed
|
||||
|
||||
@return EFI_SUCCESS Highlight selected item and update current selected
|
||||
item successful
|
||||
@retval EFI_INVALID_PARAMETER Input parameter is invalid
|
||||
@return EFI_SUCCESS Highlight selected item and update current selected
|
||||
item successful
|
||||
@retval EFI_INVALID_PARAMETER Input parameter is invalid
|
||||
**/
|
||||
EFI_STATUS
|
||||
BootMenuSelectItem (
|
||||
@ -359,7 +359,7 @@ BootMenuSelectItem (
|
||||
{
|
||||
INT32 SavedAttribute;
|
||||
EFI_STRING String;
|
||||
UINTN StartCol;
|
||||
UINTN StartCol;
|
||||
UINTN StartRow;
|
||||
UINTN PrintCol;
|
||||
UINTN PrintRow;
|
||||
@ -370,7 +370,7 @@ BootMenuSelectItem (
|
||||
UINTN ItemCountPerScreen;
|
||||
UINTN Index;
|
||||
BOOLEAN RePaintItems;
|
||||
|
||||
|
||||
if (BootMenuData == NULL || WantSelectItem >= BootMenuData->ItemCount) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
@ -381,20 +381,20 @@ BootMenuSelectItem (
|
||||
StartRow = BootMenuData->MenuScreen.StartRow;
|
||||
//
|
||||
// print selectable items again and adjust scroll bar if need
|
||||
//
|
||||
//
|
||||
if (BootMenuData->ScrollBarControl.HasScrollBar &&
|
||||
(WantSelectItem < BootMenuData->ScrollBarControl.FirstItem ||
|
||||
WantSelectItem > BootMenuData->ScrollBarControl.LastItem ||
|
||||
WantSelectItem == BootMenuData->SelectItem)) {
|
||||
WantSelectItem == BootMenuData->SelectItem)) {
|
||||
ItemCountPerScreen = BootMenuData->ScrollBarControl.ItemCountPerScreen;
|
||||
//
|
||||
// Set first item and last item
|
||||
//
|
||||
//
|
||||
if (WantSelectItem < BootMenuData->ScrollBarControl.FirstItem) {
|
||||
BootMenuData->ScrollBarControl.FirstItem = WantSelectItem;
|
||||
BootMenuData->ScrollBarControl.LastItem = WantSelectItem + ItemCountPerScreen - 1;
|
||||
BootMenuData->ScrollBarControl.LastItem = WantSelectItem + ItemCountPerScreen - 1;
|
||||
} else if (WantSelectItem > BootMenuData->ScrollBarControl.LastItem) {
|
||||
BootMenuData->ScrollBarControl.FirstItem = WantSelectItem - ItemCountPerScreen + 1;
|
||||
BootMenuData->ScrollBarControl.FirstItem = WantSelectItem - ItemCountPerScreen + 1;
|
||||
BootMenuData->ScrollBarControl.LastItem = WantSelectItem;
|
||||
}
|
||||
gST->ConOut->SetAttribute (gST->ConOut, EFI_WHITE | EFI_BACKGROUND_BLUE);
|
||||
@ -407,7 +407,7 @@ BootMenuSelectItem (
|
||||
TopShadeNum++;
|
||||
}
|
||||
PrintCol = StartCol + BootMenuData->MenuScreen.Width - 2;
|
||||
PrintRow = StartRow + TITLE_TOKEN_COUNT + 2;
|
||||
PrintRow = StartRow + TITLE_TOKEN_COUNT + 2;
|
||||
for (Index = 0; Index < TopShadeNum; Index++, PrintRow++) {
|
||||
PrintCharAt (PrintCol, PrintRow, BLOCKELEMENT_LIGHT_SHADE);
|
||||
}
|
||||
@ -419,65 +419,65 @@ BootMenuSelectItem (
|
||||
LowShadeNum++;
|
||||
}
|
||||
PrintCol = StartCol + BootMenuData->MenuScreen.Width - 2;
|
||||
PrintRow = StartRow + TITLE_TOKEN_COUNT + 2 + ItemCountPerScreen - LowShadeNum;
|
||||
PrintRow = StartRow + TITLE_TOKEN_COUNT + 2 + ItemCountPerScreen - LowShadeNum;
|
||||
for (Index = 0; Index < LowShadeNum; Index++, PrintRow++) {
|
||||
PrintCharAt (PrintCol, PrintRow, BLOCKELEMENT_LIGHT_SHADE);
|
||||
}
|
||||
}
|
||||
}
|
||||
PrintCol = StartCol + BootMenuData->MenuScreen.Width - 2;
|
||||
PrintRow = StartRow + TITLE_TOKEN_COUNT + 2 + TopShadeNum;
|
||||
PrintRow = StartRow + TITLE_TOKEN_COUNT + 2 + TopShadeNum;
|
||||
for (Index = TopShadeNum; Index < ItemCountPerScreen - LowShadeNum; Index++, PrintRow++) {
|
||||
PrintCharAt (PrintCol, PrintRow, BLOCKELEMENT_FULL_BLOCK);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Clear selectable items first
|
||||
//
|
||||
PrintCol = StartCol + 1;
|
||||
PrintRow = StartRow + TITLE_TOKEN_COUNT + 2;
|
||||
PrintRow = StartRow + TITLE_TOKEN_COUNT + 2;
|
||||
String = AllocateZeroPool ((BootMenuData->MenuScreen.Width - 2) * sizeof (CHAR16));
|
||||
ASSERT (String != NULL);
|
||||
for (Index = 0; Index < BootMenuData->MenuScreen.Width - 3; Index++) {
|
||||
String[Index] = 0x20;
|
||||
}
|
||||
for (Index = 0; Index < ItemCountPerScreen; Index++) {
|
||||
PrintStringAt (PrintCol, PrintRow + Index, String);
|
||||
}
|
||||
for (Index = 0; Index < ItemCountPerScreen; Index++) {
|
||||
PrintStringAt (PrintCol, PrintRow + Index, String);
|
||||
}
|
||||
FreePool (String);
|
||||
//
|
||||
// print selectable items
|
||||
// print selectable items
|
||||
//
|
||||
for (Index = 0; Index < ItemCountPerScreen; Index++, PrintRow++) {
|
||||
String = HiiGetString (gStringPackHandle, BootMenuData->PtrTokens[Index + FirstItem], NULL);
|
||||
PrintStringAt (PrintCol, PrintRow, String);
|
||||
FreePool (String);
|
||||
FreePool (String);
|
||||
}
|
||||
RePaintItems = TRUE;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Print want to select item
|
||||
// Print want to select item
|
||||
//
|
||||
FirstItem = BootMenuData->ScrollBarControl.FirstItem;
|
||||
gST->ConOut->SetAttribute (gST->ConOut, EFI_WHITE | EFI_BACKGROUND_BLACK);
|
||||
String = HiiGetString (gStringPackHandle, BootMenuData->PtrTokens[WantSelectItem], NULL);
|
||||
PrintCol = StartCol + 1;
|
||||
PrintRow = StartRow + TITLE_TOKEN_COUNT + 2 + WantSelectItem - FirstItem;
|
||||
PrintCol = StartCol + 1;
|
||||
PrintRow = StartRow + TITLE_TOKEN_COUNT + 2 + WantSelectItem - FirstItem;
|
||||
PrintStringAt (PrintCol, PrintRow, String);
|
||||
FreePool (String);
|
||||
|
||||
|
||||
//
|
||||
// if Want Select and selected item isn't the same and doesn't re-draw selectable
|
||||
// if Want Select and selected item isn't the same and doesn't re-draw selectable
|
||||
// items, clear select item
|
||||
//
|
||||
if (WantSelectItem != BootMenuData->SelectItem && !RePaintItems) {
|
||||
gST->ConOut->SetAttribute (gST->ConOut, EFI_WHITE | EFI_BACKGROUND_BLUE);
|
||||
String = HiiGetString (gStringPackHandle, BootMenuData->PtrTokens[BootMenuData->SelectItem], NULL);
|
||||
PrintCol = StartCol + 1;
|
||||
PrintRow = StartRow + 3 + BootMenuData->SelectItem - FirstItem;
|
||||
PrintCol = StartCol + 1;
|
||||
PrintRow = StartRow + 3 + BootMenuData->SelectItem - FirstItem;
|
||||
PrintStringAt (PrintCol, PrintRow, String);
|
||||
FreePool (String);
|
||||
FreePool (String);
|
||||
}
|
||||
|
||||
gST->ConOut->SetAttribute (gST->ConOut, SavedAttribute);
|
||||
@ -489,28 +489,28 @@ BootMenuSelectItem (
|
||||
This function uses to draw boot popup menu
|
||||
|
||||
@param BootMenuData The Input BootMenuData to be processed.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Draw boot popup menu successful.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFI_STATUS
|
||||
DrawBootPopupMenu (
|
||||
IN BOOT_MENU_POPUP_DATA *BootMenuData
|
||||
)
|
||||
{
|
||||
EFI_STRING String;
|
||||
UINTN Index;
|
||||
UINTN Width;
|
||||
UINTN Width;
|
||||
UINTN StartCol;
|
||||
UINTN StartRow;
|
||||
UINTN PrintRow;
|
||||
UINTN PrintCol;
|
||||
UINTN LineWidth;
|
||||
INT32 SavedAttribute;
|
||||
UINTN ItemCountPerScreen;
|
||||
INT32 SavedAttribute;
|
||||
UINTN ItemCountPerScreen;
|
||||
|
||||
gST->ConOut->ClearScreen (gST->ConOut);
|
||||
|
||||
|
||||
SavedAttribute = gST->ConOut->Mode->Attribute;
|
||||
gST->ConOut->SetAttribute (gST->ConOut, EFI_WHITE | EFI_BACKGROUND_BLUE);
|
||||
Width = BootMenuData->MenuScreen.Width;
|
||||
@ -518,17 +518,17 @@ DrawBootPopupMenu (
|
||||
StartRow = BootMenuData->MenuScreen.StartRow;
|
||||
ItemCountPerScreen = BootMenuData->ScrollBarControl.ItemCountPerScreen;
|
||||
PrintRow = StartRow;
|
||||
|
||||
|
||||
gST->ConOut->EnableCursor (gST->ConOut, FALSE);
|
||||
//
|
||||
// Draw Boot popup menu screen
|
||||
//
|
||||
PrintCharAt (StartCol, PrintRow, BOXDRAW_DOWN_RIGHT);
|
||||
for (Index = 1; Index < Width - 1; Index++) {
|
||||
PrintCharAt (StartCol + Index, PrintRow, BOXDRAW_HORIZONTAL);
|
||||
PrintCharAt (StartCol + Index, PrintRow, BOXDRAW_HORIZONTAL);
|
||||
}
|
||||
PrintCharAt (StartCol + Width - 1, PrintRow, BOXDRAW_DOWN_LEFT);
|
||||
|
||||
|
||||
//
|
||||
// Draw the screen for title
|
||||
//
|
||||
@ -540,18 +540,18 @@ DrawBootPopupMenu (
|
||||
|
||||
for (Index = 0; Index < TITLE_TOKEN_COUNT; Index++) {
|
||||
PrintRow++;
|
||||
PrintCharAt (StartCol, PrintRow, BOXDRAW_VERTICAL);
|
||||
PrintCharAt (StartCol, PrintRow, BOXDRAW_VERTICAL);
|
||||
PrintStringAt (StartCol + 1, PrintRow, String);
|
||||
PrintCharAt (StartCol + Width - 1, PrintRow, BOXDRAW_VERTICAL);
|
||||
}
|
||||
|
||||
|
||||
PrintRow++;
|
||||
PrintCharAt (StartCol, PrintRow, BOXDRAW_VERTICAL_RIGHT);
|
||||
for (Index = 1; Index < Width - 1; Index++) {
|
||||
PrintCharAt (StartCol + Index, PrintRow, BOXDRAW_HORIZONTAL);
|
||||
PrintCharAt (StartCol + Index, PrintRow, BOXDRAW_HORIZONTAL);
|
||||
}
|
||||
PrintCharAt (StartCol + Width - 1, PrintRow, BOXDRAW_VERTICAL_LEFT);
|
||||
|
||||
PrintCharAt (StartCol + Width - 1, PrintRow, BOXDRAW_VERTICAL_LEFT);
|
||||
|
||||
//
|
||||
// Draw screen for selectable items
|
||||
//
|
||||
@ -560,15 +560,15 @@ DrawBootPopupMenu (
|
||||
PrintCharAt (StartCol, PrintRow, BOXDRAW_VERTICAL);
|
||||
PrintStringAt (StartCol + 1, PrintRow, String);
|
||||
PrintCharAt (StartCol + Width - 1, PrintRow, BOXDRAW_VERTICAL);
|
||||
}
|
||||
}
|
||||
|
||||
PrintRow++;
|
||||
PrintCharAt (StartCol, PrintRow, BOXDRAW_VERTICAL_RIGHT);
|
||||
for (Index = 1; Index < Width - 1; Index++) {
|
||||
PrintCharAt (StartCol + Index, PrintRow, BOXDRAW_HORIZONTAL);
|
||||
PrintCharAt (StartCol + Index, PrintRow, BOXDRAW_HORIZONTAL);
|
||||
}
|
||||
PrintCharAt (StartCol + Width - 1, PrintRow, BOXDRAW_VERTICAL_LEFT);
|
||||
|
||||
|
||||
//
|
||||
// Draw screen for Help
|
||||
//
|
||||
@ -578,39 +578,39 @@ DrawBootPopupMenu (
|
||||
PrintStringAt (StartCol + 1, PrintRow, String);
|
||||
PrintCharAt (StartCol + Width - 1, PrintRow, BOXDRAW_VERTICAL);
|
||||
}
|
||||
FreePool (String);
|
||||
|
||||
PrintRow++;
|
||||
FreePool (String);
|
||||
|
||||
PrintRow++;
|
||||
PrintCharAt (StartCol, PrintRow, BOXDRAW_UP_RIGHT);
|
||||
for (Index = 1; Index < Width - 1; Index++) {
|
||||
PrintCharAt (StartCol + Index, PrintRow, BOXDRAW_HORIZONTAL);
|
||||
PrintCharAt (StartCol + Index, PrintRow, BOXDRAW_HORIZONTAL);
|
||||
}
|
||||
PrintCharAt (StartCol + Width - 1, PrintRow, BOXDRAW_UP_LEFT);
|
||||
|
||||
|
||||
PrintCharAt (StartCol + Width - 1, PrintRow, BOXDRAW_UP_LEFT);
|
||||
|
||||
|
||||
//
|
||||
// print title strings
|
||||
//
|
||||
PrintRow = StartRow + 1;
|
||||
for (Index = 0; Index < TITLE_TOKEN_COUNT; Index++, PrintRow++) {
|
||||
String = HiiGetString (gStringPackHandle, BootMenuData->TitleToken[Index], NULL);
|
||||
LineWidth = GetLineWidth (BootMenuData->TitleToken[Index]);
|
||||
LineWidth = GetLineWidth (BootMenuData->TitleToken[Index]);
|
||||
PrintCol = StartCol + (Width - LineWidth) / 2;
|
||||
PrintStringAt (PrintCol, PrintRow, String);
|
||||
FreePool (String);
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// print selectable items
|
||||
//
|
||||
PrintCol = StartCol + 1;
|
||||
PrintRow = StartRow + TITLE_TOKEN_COUNT + 2;
|
||||
PrintRow = StartRow + TITLE_TOKEN_COUNT + 2;
|
||||
for (Index = 0; Index < ItemCountPerScreen; Index++, PrintRow++) {
|
||||
String = HiiGetString (gStringPackHandle, BootMenuData->PtrTokens[Index], NULL);
|
||||
PrintStringAt (PrintCol, PrintRow, String);
|
||||
FreePool (String);
|
||||
FreePool (String);
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Print Help strings
|
||||
//
|
||||
@ -622,20 +622,20 @@ DrawBootPopupMenu (
|
||||
PrintStringAt (PrintCol, PrintRow, String);
|
||||
FreePool (String);
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Print scroll bar if has scroll bar
|
||||
//
|
||||
if (BootMenuData->ScrollBarControl.HasScrollBar) {
|
||||
PrintCol = StartCol + Width - 2;
|
||||
PrintRow = StartRow + 2;
|
||||
PrintCharAt (PrintCol, PrintRow, GEOMETRICSHAPE_UP_TRIANGLE);
|
||||
PrintCharAt (PrintCol + 1, PrintRow, BOXDRAW_VERTICAL);
|
||||
PrintRow += (ItemCountPerScreen + 1);
|
||||
PrintRow = StartRow + 2;
|
||||
PrintCharAt (PrintCol, PrintRow, GEOMETRICSHAPE_UP_TRIANGLE);
|
||||
PrintCharAt (PrintCol + 1, PrintRow, BOXDRAW_VERTICAL);
|
||||
PrintRow += (ItemCountPerScreen + 1);
|
||||
PrintCharAt (PrintCol, PrintRow, GEOMETRICSHAPE_DOWN_TRIANGLE);
|
||||
PrintCharAt (PrintCol + 1, PrintRow, BOXDRAW_VERTICAL);
|
||||
}
|
||||
|
||||
PrintCharAt (PrintCol + 1, PrintRow, BOXDRAW_VERTICAL);
|
||||
}
|
||||
|
||||
gST->ConOut->SetAttribute (gST->ConOut, SavedAttribute);
|
||||
//
|
||||
// Print Selected item
|
||||
@ -645,7 +645,7 @@ DrawBootPopupMenu (
|
||||
}
|
||||
|
||||
/**
|
||||
This function uses to boot from selected item
|
||||
This function uses to boot from selected item
|
||||
|
||||
@param BootOptions Pointer to EFI_BOOT_MANAGER_LOAD_OPTION array.
|
||||
@param BootOptionCount Number of boot option.
|
||||
@ -654,7 +654,7 @@ DrawBootPopupMenu (
|
||||
VOID
|
||||
BootFromSelectOption (
|
||||
IN EFI_BOOT_MANAGER_LOAD_OPTION *BootOptions,
|
||||
IN UINTN BootOptionCount,
|
||||
IN UINTN BootOptionCount,
|
||||
IN UINTN SelectItem
|
||||
)
|
||||
{
|
||||
@ -677,9 +677,9 @@ BootFromSelectOption (
|
||||
|
||||
/**
|
||||
This function will change video resolution and text mode
|
||||
according to defined setup mode or defined boot mode
|
||||
according to defined setup mode or defined boot mode
|
||||
|
||||
@param IsSetupMode Indicate mode is changed to setup mode or boot mode.
|
||||
@param IsSetupMode Indicate mode is changed to setup mode or boot mode.
|
||||
|
||||
@retval EFI_SUCCESS Mode is changed successfully.
|
||||
@retval Others Mode failed to be changed.
|
||||
@ -707,13 +707,13 @@ BdsSetConsoleMode (
|
||||
EFI_STATUS Status;
|
||||
UINTN Index;
|
||||
UINTN CurrentColumn;
|
||||
UINTN CurrentRow;
|
||||
UINTN CurrentRow;
|
||||
|
||||
MaxGopMode = 0;
|
||||
MaxTextMode = 0;
|
||||
|
||||
//
|
||||
// Get current video resolution and text mode
|
||||
// Get current video resolution and text mode
|
||||
//
|
||||
Status = gBS->HandleProtocol (
|
||||
gST->ConsoleOutHandle,
|
||||
@ -731,7 +731,7 @@ BdsSetConsoleMode (
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
SimpleTextOut = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
if ((GraphicsOutput == NULL) || (SimpleTextOut == NULL)) {
|
||||
return EFI_UNSUPPORTED;
|
||||
@ -752,12 +752,12 @@ BdsSetConsoleMode (
|
||||
NewHorizontalResolution = mBootHorizontalResolution;
|
||||
NewVerticalResolution = mBootVerticalResolution;
|
||||
NewColumns = mBootTextModeColumn;
|
||||
NewRows = mBootTextModeRow;
|
||||
NewRows = mBootTextModeRow;
|
||||
}
|
||||
|
||||
|
||||
if (GraphicsOutput != NULL) {
|
||||
MaxGopMode = GraphicsOutput->Mode->MaxMode;
|
||||
}
|
||||
}
|
||||
|
||||
if (SimpleTextOut != NULL) {
|
||||
MaxTextMode = SimpleTextOut->Mode->MaxMode;
|
||||
@ -861,7 +861,7 @@ BdsSetConsoleMode (
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
Status = PcdSet32S (PcdConOutRow, NewRows);
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
|
||||
|
||||
//
|
||||
// Video mode is changed, so restart graphics console driver and higher level driver.
|
||||
// Reconnect graphics console driver and higher level driver.
|
||||
@ -894,10 +894,10 @@ BdsSetConsoleMode (
|
||||
|
||||
@param ImageHandle The image handle.
|
||||
@param SystemTable The system table.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Boot from selected boot option, and return success from boot option
|
||||
@retval EFI_NOT_FOUND User select to enter setup or can not find boot option
|
||||
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@ -907,7 +907,7 @@ BootManagerMenuEntry (
|
||||
)
|
||||
{
|
||||
EFI_BOOT_MANAGER_LOAD_OPTION *BootOption;
|
||||
UINTN BootOptionCount;
|
||||
UINTN BootOptionCount;
|
||||
EFI_STATUS Status;
|
||||
BOOT_MENU_POPUP_DATA BootMenuData;
|
||||
UINTN Index;
|
||||
@ -950,7 +950,7 @@ BootManagerMenuEntry (
|
||||
|
||||
if (!mModeInitialized) {
|
||||
//
|
||||
// After the console is ready, get current video resolution
|
||||
// After the console is ready, get current video resolution
|
||||
// and text mode before launching setup at first time.
|
||||
//
|
||||
Status = gBS->HandleProtocol (
|
||||
@ -961,7 +961,7 @@ BootManagerMenuEntry (
|
||||
if (EFI_ERROR (Status)) {
|
||||
GraphicsOutput = NULL;
|
||||
}
|
||||
|
||||
|
||||
Status = gBS->HandleProtocol (
|
||||
gST->ConsoleOutHandle,
|
||||
&gEfiSimpleTextOutProtocolGuid,
|
||||
@ -969,7 +969,7 @@ BootManagerMenuEntry (
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
SimpleTextOut = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
if (GraphicsOutput != NULL) {
|
||||
//
|
||||
@ -992,14 +992,14 @@ BootManagerMenuEntry (
|
||||
|
||||
//
|
||||
// Get user defined text mode for setup.
|
||||
//
|
||||
//
|
||||
mSetupHorizontalResolution = PcdGet32 (PcdSetupVideoHorizontalResolution);
|
||||
mSetupVerticalResolution = PcdGet32 (PcdSetupVideoVerticalResolution);
|
||||
mSetupVerticalResolution = PcdGet32 (PcdSetupVideoVerticalResolution);
|
||||
mSetupTextModeColumn = PcdGet32 (PcdSetupConOutColumn);
|
||||
mSetupTextModeRow = PcdGet32 (PcdSetupConOutRow);
|
||||
mModeInitialized = TRUE;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Set back to conventional setup resolution
|
||||
//
|
||||
@ -1013,7 +1013,7 @@ BootManagerMenuEntry (
|
||||
// According to boot menu data to draw boot popup menu
|
||||
//
|
||||
DrawBootPopupMenu (&BootMenuData);
|
||||
|
||||
|
||||
//
|
||||
// check user input to determine want to re-draw or boot from user selected item
|
||||
//
|
||||
@ -1023,18 +1023,18 @@ BootManagerMenuEntry (
|
||||
Status = gST->ConIn->ReadKeyStroke (gST->ConIn, &Key);
|
||||
if (!EFI_ERROR (Status)) {
|
||||
switch (Key.UnicodeChar) {
|
||||
|
||||
case CHAR_NULL:
|
||||
switch (Key.ScanCode) {
|
||||
|
||||
|
||||
case CHAR_NULL:
|
||||
switch (Key.ScanCode) {
|
||||
|
||||
case SCAN_UP:
|
||||
SelectItem = BootMenuData.SelectItem == 0 ? BootMenuData.ItemCount - 1 : BootMenuData.SelectItem - 1;
|
||||
BootMenuSelectItem (SelectItem, &BootMenuData);
|
||||
BootMenuSelectItem (SelectItem, &BootMenuData);
|
||||
break;
|
||||
|
||||
|
||||
case SCAN_DOWN:
|
||||
SelectItem = BootMenuData.SelectItem == BootMenuData.ItemCount - 1 ? 0 : BootMenuData.SelectItem + 1;
|
||||
BootMenuSelectItem (SelectItem, &BootMenuData);
|
||||
BootMenuSelectItem (SelectItem, &BootMenuData);
|
||||
break;
|
||||
|
||||
case SCAN_ESC:
|
||||
@ -1045,12 +1045,12 @@ BootManagerMenuEntry (
|
||||
//
|
||||
BdsSetConsoleMode (FALSE);
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
case CHAR_CARRIAGE_RETURN:
|
||||
gST->ConOut->ClearScreen (gST->ConOut);
|
||||
//
|
||||
@ -1064,7 +1064,7 @@ BootManagerMenuEntry (
|
||||
BdsSetConsoleMode (TRUE);
|
||||
DrawBootPopupMenu (&BootMenuData);
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@ -1076,5 +1076,5 @@ BootManagerMenuEntry (
|
||||
HiiRemovePackages (gStringPackHandle);
|
||||
|
||||
return Status;
|
||||
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user