mirror of
				https://github.com/acidanthera/audk.git
				synced 2025-10-31 03:03:46 +01:00 
			
		
		
		
	https://bugzilla.tianocore.org/show_bug.cgi?id=1373 Replace BSD 2-Clause License with BSD+Patent License. This change is based on the following emails: https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html RFCs with detailed process for the license change: V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Hao Wu <hao.a.wu@intel.com> Reviewed-by: Jian J Wang <jian.j.wang@intel.com>
		
			
				
	
	
		
			351 lines
		
	
	
		
			8.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			351 lines
		
	
	
		
			8.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /** @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
 |