Update Browser to provide the customization possibilities.
Signed-off-by: Eric Dong <eric.dong@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> Tested-by: Laszlo Ersek <lersek@redhat.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14540 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
356
MdeModulePkg/Include/Library/CustomizedDisplayLib.h
Normal file
356
MdeModulePkg/Include/Library/CustomizedDisplayLib.h
Normal file
@@ -0,0 +1,356 @@
|
||||
/** @file
|
||||
This library class defines a set of interfaces to customize Display module
|
||||
|
||||
Copyright (c) 2013, 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 that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __CUSTOMIZED_DISPLAY_LIB_H__
|
||||
#define __CUSTOMIZED_DISPLAY_LIB_H__
|
||||
|
||||
#include <Protocol/DisplayProtocol.h>
|
||||
|
||||
/**
|
||||
+------------------------------------------------------------------------------+
|
||||
? Setup Page ?
|
||||
+------------------------------------------------------------------------------+
|
||||
|
||||
Statement
|
||||
Statement
|
||||
Statement
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+------------------------------------------------------------------------------+
|
||||
?F1=Scroll Help F9=Reset to Defaults F10=Save and Exit ?
|
||||
| ^"=Move Highlight <Spacebar> Toggles Checkbox Esc=Discard Changes |
|
||||
+------------------------------------------------------------------------------+
|
||||
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 chracter 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
|
Reference in New Issue
Block a user