/** @file This library class defines a set of interfaces to customize Display module Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef __CUSTOMIZED_DISPLAY_LIB_H__ #define __CUSTOMIZED_DISPLAY_LIB_H__ #include /** +------------------------------------------------------------------------------+ | Setup Page | +------------------------------------------------------------------------------+ Statement Statement Statement +------------------------------------------------------------------------------+ | F9=Reset to Defaults F10=Save | | ^"=Move Highlight 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