| /** @file | |
| This library class defines a set of interfaces to customize Display module | |
| Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR> | |
| SPDX-License-Identifier: BSD-2-Clause-Patent | |
| **/ | |
| #ifndef __CUSTOMIZED_DISPLAY_LIB_H__ | |
| #define __CUSTOMIZED_DISPLAY_LIB_H__ | |
| #include <Protocol/DisplayProtocol.h> | |
| /** | |
| +------------------------------------------------------------------------------+ | |
| | Setup Page | | |
| +------------------------------------------------------------------------------+ | |
| Statement | |
| Statement | |
| Statement | |
| +------------------------------------------------------------------------------+ | |
| | F9=Reset to Defaults F10=Save | | |
| | ^"=Move Highlight <Spacebar> Toggles Checkbox Esc=Exit | | |
| +------------------------------------------------------------------------------+ | |
| StatusBar | |
| **/ | |
| /** | |
| This funtion defines Page Frame and Backgroud. | |
| Based on the above layout, it will be responsible for HeaderHeight, FooterHeight, | |
| StatusBarHeight and Backgroud. And, it will reserve Screen for Statement. | |
| @param[in] FormData Form Data to be shown in Page. | |
| @param[out] ScreenForStatement Screen to be used for Statement. (Prompt, Value and Help) | |
| @return Status | |
| **/ | |
| EFI_STATUS | |
| EFIAPI | |
| DisplayPageFrame ( | |
| IN FORM_DISPLAY_ENGINE_FORM *FormData, | |
| OUT EFI_SCREEN_DESCRIPTOR *ScreenForStatement | |
| ); | |
| /** | |
| Clear Screen to the initial state. | |
| **/ | |
| VOID | |
| EFIAPI | |
| ClearDisplayPage ( | |
| VOID | |
| ); | |
| /** | |
| This function updates customized key panel's help information. | |
| The library will prepare those Strings for the basic key, ESC, Enter, Up/Down/Left/Right, +/-. | |
| and arrange them in Footer panel. | |
| @param[in] FormData Form Data to be shown in Page. FormData has the highlighted statement. | |
| @param[in] Statement The statement current selected. | |
| @param[in] Selected Whether or not a tag be selected. TRUE means Enter has hit this question. | |
| **/ | |
| VOID | |
| EFIAPI | |
| RefreshKeyHelp ( | |
| IN FORM_DISPLAY_ENGINE_FORM *FormData, | |
| IN FORM_DISPLAY_ENGINE_STATEMENT *Statement, | |
| IN BOOLEAN Selected | |
| ); | |
| /** | |
| Update status bar. | |
| This function updates the status bar on the bottom of menu screen. It just shows StatusBar. | |
| Original logic in this function should be splitted out. | |
| @param[in] MessageType The type of message to be shown. InputError or Configuration Changed. | |
| @param[in] State Show or Clear Message. | |
| **/ | |
| VOID | |
| EFIAPI | |
| UpdateStatusBar ( | |
| IN UINTN MessageType, | |
| IN BOOLEAN State | |
| ); | |
| /** | |
| Create popup window. | |
| This function draws OEM/Vendor specific pop up windows. | |
| @param[out] Key User Input Key | |
| @param ... String to be shown in Popup. The variable argument list is terminated by a NULL. | |
| **/ | |
| VOID | |
| EFIAPI | |
| CreateDialog ( | |
| OUT EFI_INPUT_KEY *Key OPTIONAL, | |
| ... | |
| ); | |
| /** | |
| Confirm how to handle the changed data. | |
| @return Action BROWSER_ACTION_SUBMIT, BROWSER_ACTION_DISCARD or other values. | |
| **/ | |
| UINTN | |
| EFIAPI | |
| ConfirmDataChange ( | |
| VOID | |
| ); | |
| /** | |
| OEM specifies whether Setup exits Page by ESC key. | |
| This function customized the behavior that whether Setup exits Page so that | |
| system able to boot when configuration is not changed. | |
| @retval TRUE Exits FrontPage | |
| @retval FALSE Don't exit FrontPage. | |
| **/ | |
| BOOLEAN | |
| EFIAPI | |
| FormExitPolicy ( | |
| VOID | |
| ); | |
| /** | |
| Set Timeout value for a ceratain Form to get user response. | |
| This function allows to set timeout value on a ceratain form if necessary. | |
| If timeout is not zero, the form will exit if user has no response in timeout. | |
| @param[in] FormData Form Data to be shown in Page | |
| @return 0 No timeout for this form. | |
| @return > 0 Timeout value in 100 ns units. | |
| **/ | |
| UINT64 | |
| EFIAPI | |
| FormExitTimeout ( | |
| IN FORM_DISPLAY_ENGINE_FORM *FormData | |
| ); | |
| // | |
| // Print Functions | |
| // | |
| /** | |
| Prints a unicode string to the default console, at | |
| the supplied cursor position, using L"%s" format. | |
| @param Column The cursor position to print the string at. When it is -1, use current Position. | |
| @param Row The cursor position to print the string at. When it is -1, use current Position. | |
| @param String String pointer. | |
| @return Length of string printed to the console | |
| **/ | |
| UINTN | |
| EFIAPI | |
| PrintStringAt ( | |
| IN UINTN Column, | |
| IN UINTN Row, | |
| IN CHAR16 *String | |
| ); | |
| /** | |
| Prints a unicode string with the specified width to the default console, at | |
| the supplied cursor position, using L"%s" format. | |
| @param Column The cursor position to print the string at. When it is -1, use current Position. | |
| @param Row The cursor position to print the string at. When it is -1, use current Position. | |
| @param String String pointer. | |
| @param Width Width for String to be printed. If the print length of String < Width, | |
| Space char (L' ') will be used to append String. | |
| @return Length of string printed to the console | |
| **/ | |
| UINTN | |
| EFIAPI | |
| PrintStringAtWithWidth ( | |
| IN UINTN Column, | |
| IN UINTN Row, | |
| IN CHAR16 *String, | |
| IN UINTN Width | |
| ); | |
| /** | |
| Prints a character to the default console, at | |
| the supplied cursor position, using L"%c" format. | |
| @param Column The cursor position to print the string at. When it is -1, use current Position. | |
| @param Row The cursor position to print the string at. When it is -1, use current Position. | |
| @param Character Character to print. | |
| @return Length of string printed to the console. | |
| **/ | |
| UINTN | |
| EFIAPI | |
| PrintCharAt ( | |
| IN UINTN Column, | |
| IN UINTN Row, | |
| CHAR16 Character | |
| ); | |
| /** | |
| Clear retangle with specified text attribute. | |
| @param LeftColumn Left column of retangle. | |
| @param RightColumn Right column of retangle. | |
| @param TopRow Start row of retangle. | |
| @param BottomRow End row of retangle. | |
| @param TextAttribute The character foreground and background. | |
| **/ | |
| VOID | |
| EFIAPI | |
| ClearLines ( | |
| IN UINTN LeftColumn, | |
| IN UINTN RightColumn, | |
| IN UINTN TopRow, | |
| IN UINTN BottomRow, | |
| IN UINTN TextAttribute | |
| ); | |
| // | |
| // Color Setting Functions | |
| // | |
| /** | |
| Get OEM/Vendor specific popup attribute colors. | |
| @retval Byte code color setting for popup color. | |
| **/ | |
| UINT8 | |
| EFIAPI | |
| GetPopupColor ( | |
| VOID | |
| ); | |
| /** | |
| Get OEM/Vendor specific popup attribute colors. | |
| @retval Byte code color setting for popup inverse color. | |
| **/ | |
| UINT8 | |
| EFIAPI | |
| GetPopupInverseColor ( | |
| VOID | |
| ); | |
| /** | |
| Get OEM/Vendor specific PickList color attribute. | |
| @retval Byte code color setting for pick list color. | |
| **/ | |
| UINT8 | |
| EFIAPI | |
| GetPickListColor ( | |
| VOID | |
| ); | |
| /** | |
| Get OEM/Vendor specific arrow color attribute. | |
| @retval Byte code color setting for arrow color. | |
| **/ | |
| UINT8 | |
| EFIAPI | |
| GetArrowColor ( | |
| VOID | |
| ); | |
| /** | |
| Get OEM/Vendor specific info text color attribute. | |
| @retval Byte code color setting for info text color. | |
| **/ | |
| UINT8 | |
| EFIAPI | |
| GetInfoTextColor ( | |
| VOID | |
| ); | |
| /** | |
| Get OEM/Vendor specific help text color attribute. | |
| @retval Byte code color setting for help text color. | |
| **/ | |
| UINT8 | |
| EFIAPI | |
| GetHelpTextColor ( | |
| VOID | |
| ); | |
| /** | |
| Get OEM/Vendor specific grayed out text color attribute. | |
| @retval Byte code color setting for grayed out text color. | |
| **/ | |
| UINT8 | |
| EFIAPI | |
| GetGrayedTextColor ( | |
| VOID | |
| ); | |
| /** | |
| Get OEM/Vendor specific highlighted text color attribute. | |
| @retval Byte code color setting for highlight text color. | |
| **/ | |
| UINT8 | |
| EFIAPI | |
| GetHighlightTextColor ( | |
| VOID | |
| ); | |
| /** | |
| Get OEM/Vendor specific field text color attribute. | |
| @retval Byte code color setting for field text color. | |
| **/ | |
| UINT8 | |
| EFIAPI | |
| GetFieldTextColor ( | |
| VOID | |
| ); | |
| /** | |
| Get OEM/Vendor specific subtitle text color attribute. | |
| @retval Byte code color setting for subtitle text color. | |
| **/ | |
| UINT8 | |
| EFIAPI | |
| GetSubTitleTextColor ( | |
| VOID | |
| ); | |
| #endif |