From 31bb486c913795c8b67d1c4dbaae2bdec4943fc9 Mon Sep 17 00:00:00 2001 From: raywu Date: Thu, 13 Sep 2018 16:11:56 +0800 Subject: SLP1.0 / SLP2.0 / Default Password / Logo / Fix Boot Order --- EDK/MiniSetup/TseLite/control.h | 171 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 EDK/MiniSetup/TseLite/control.h (limited to 'EDK/MiniSetup/TseLite/control.h') diff --git a/EDK/MiniSetup/TseLite/control.h b/EDK/MiniSetup/TseLite/control.h new file mode 100644 index 0000000..b7111d0 --- /dev/null +++ b/EDK/MiniSetup/TseLite/control.h @@ -0,0 +1,171 @@ +//*****************************************************************// +//*****************************************************************// +//*****************************************************************// +//** **// +//** (C)Copyright 2010, American Megatrends, Inc. **// +//** **// +//** All Rights Reserved. **// +//** **// +//** 5555 Oakbrook Pkwy, Building 200,Norcross, Georgia 30093 **// +//** **// +//** Phone (770)-246-8600 **// +//** **// +//*****************************************************************// +//*****************************************************************// +//*****************************************************************// +// $Archive: /Alaska/SOURCE/Modules/AMITSE2_0/AMITSE/TseLite/control.h $ +// +// $Author: Arunsb $ +// +// $Revision: 8 $ +// +// $Date: 10/18/12 6:01a $ +// +//*****************************************************************// +//*****************************************************************// +// Revision History +// ---------------- +// $Log: /Alaska/SOURCE/Modules/AMITSE2_0/AMITSE/TseLite/control.h $ +// +// 8 10/18/12 6:01a Arunsb +// Updated for 2.16.1235 QA submission +// +// 9 10/10/12 12:38p Arunsb +// Synched the source for v2.16.1232, backup with Aptio +// +// 7 6/17/10 2:59p Madhans +// Dynamic parsing support in TSE. +// +// 6 4/16/10 5:13p Madhans +// Changes for Tse 2.02. Please see Changelog.log for more details. +// +// 5 2/26/10 8:54p Madhans +// For TSE 2.01.1024. refer changelog.log for file checkin history . +// +// 5 2/26/10 1:30p Madhans +// To avoid build issues with EDK. +// +// 4 2/19/10 8:18a Mallikarjunanv +// updated year in copyright message +// +// 3 8/17/09 12:27p Presannar +// Removed References to Tiano.h and replaced it with Efi.h +// +// 2 6/12/09 7:44p Presannar +// Initial implementation of coding standards for AMITSE2.0 +// +// 1 6/04/09 8:05p Madhans +// +// 1 4/28/09 11:04p Madhans +// Tse 2.0 Code complete Checkin. +// +// 4 4/28/09 9:40p Madhans +// Tse 2.0 Code complete Checkin. +// +// 3 2/05/09 10:15a Madhans +// Style Module created. +// +// 2 1/30/09 6:06p Madhans +// Function headers added. +// +// 1 12/18/08 7:58p Madhans +// Intial version of TSE Lite sources +//*****************************************************************// +//*****************************************************************// + +#ifndef _CONTROL_H_ +#define _CONTROL_H_ + +#if TSE_USE_EDK_LIBRARY +#include "Tiano.h" +#else +#include "Efi.h" +#endif + +#include "object.h" +#include "setupdata.h" +#include "action.h" +#if UEFI_SOURCES_SUPPORT +#include "ctrlcond.h" +#endif + +#define CONTROL_GRAYOUT_COLOR STYLE_COLOR_GRAYOUT + +#define CONTROL_MEMBER_VARIABLES \ + CONTROL_INFO ControlData; \ + UINT16 Left; \ + UINT16 Top; \ + UINT16 Width; \ + UINT16 Height; \ + UINT8 FGColor; \ + UINT8 BGColor; \ + BOOLEAN ControlFocus; \ + BOOLEAN ControlActive; \ + UINT32 ParentFrameType; + +typedef struct _CONTROL_METHODS CONTROL_METHODS; + +typedef struct _CONTROL_DATA +{ + CONTROL_METHODS *Methods; + + OBJECT_MEMBER_VARIABLES + CONTROL_MEMBER_VARIABLES + +} +CONTROL_DATA; + +typedef EFI_STATUS (*CONTROL_METHOD_SET_FOCUS) ( VOID *object, BOOLEAN focus ); +typedef EFI_STATUS (*CONTROL_METHOD_SET_POSITION) ( VOID *object, UINT16 Left, UINT16 Top ); +typedef EFI_STATUS (*CONTROL_METHOD_SET_DIMENSIONS) ( VOID *object, UINT16 Width, UINT16 Height ); +typedef EFI_STATUS (*CONTROL_METHOD_SET_ATTRIBUTES)( VOID *object, UINT8 FGColor, UINT8 BGColor ); +typedef EFI_STATUS (*CONTROL_METHOD_GET_CONTROL_HIGHT)( VOID *object, VOID *frame, UINT16 *height ); + +#define CONTROL_METHOD_FUNCTIONS \ + CONTROL_METHOD_SET_FOCUS SetFocus; \ + CONTROL_METHOD_SET_POSITION SetPosition; \ + CONTROL_METHOD_SET_DIMENSIONS SetDimensions; \ + CONTROL_METHOD_SET_ATTRIBUTES SetAttributes; \ + CONTROL_METHOD_GET_CONTROL_HIGHT GetControlHeight; + +struct _CONTROL_METHODS +{ + OBJECT_METHOD_FUNCTIONS + CONTROL_METHOD_FUNCTIONS +}; + +extern CONTROL_METHODS gControl; + +// Object Methods +EFI_STATUS ControlCreate( VOID **object ); +EFI_STATUS ControlDestroy( VOID *object, BOOLEAN freeMem ); +EFI_STATUS ControlInitialize( VOID *object, VOID *data ); +EFI_STATUS ControlEmptyMethod( VOID *object ); +EFI_STATUS ControlDraw( VOID *object ); +EFI_STATUS ControlHandleAction( VOID *object, ACTION_DATA *Data ); +EFI_STATUS ControlSetCallback( VOID *object, VOID *container, OBJECT_CALLBACK callback, VOID *cookie ); + +// Control Methods +EFI_STATUS ControlSetFocus(VOID *object, BOOLEAN focus); +EFI_STATUS ControlSetPosition(VOID *object, UINT16 Left, UINT16 Top); +EFI_STATUS ControlSetDimensions(VOID *object, UINT16 Width, UINT16 Height); +EFI_STATUS ControlSetAttributes(VOID *object, UINT8 FGColor, UINT8 BGColor); +CONTROL_DATA * GetUpdatedControlData(CONTROL_DATA * ControlData,UINT16 ControlType,VOID *Handle,UINT16 Key); + + +#endif /* _CONTROL_H_ */ + + +//********************************************************************** +//********************************************************************** +//** ** +//** (C)Copyright 1985-2010, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Pkwy, Building 200,Norcross, Georgia 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//********************************************************************** +//********************************************************************** -- cgit v1.2.3