alder_lake_bios/Insyde/InsydeSetupPkg/Drivers/H2ODisplayEngineLocalTextDxe/LTDEPanels/LTDEPanels.h

255 lines
6.1 KiB
C

/** @file
Header file for panel related definitions and functions.
;******************************************************************************
;* Copyright (c) 2015, Insyde Software Corp. All Rights Reserved.
;*
;* You may not reproduce, distribute, publish, display, perform, modify, adapt,
;* transmit, broadcast, present, recite, release, license or otherwise exploit
;* any part of this publication in any form, by any means, without the prior
;* written permission of Insyde Software Corporation.
;*
;******************************************************************************
*/
#ifndef _LTDE_PANELS_H_
#define _LTDE_PANELS_H_
#include "H2ODisplayEngineLocalText.h"
#include "LTDEControl.h"
//
// Title Panel
//
EFI_STATUS
InitTitlePanel (
VOID
);
EFI_STATUS
DisplayTitlePanel (
VOID
);
//
// Setup Menu Panel
//
EFI_STATUS
InitSetupMenuPanel (
VOID
);
EFI_STATUS
DisplaySetupMenuPanel (
VOID
);
EFI_STATUS
SetupMenuPanelProcessSelectQHotKey (
IN H2O_LTDE_PANEL *SetupMenuPanel,
IN BOOLEAN GoNext
);
EFI_STATUS
SetupMenuPanelProcessMouseClick (
IN H2O_LTDE_PANEL *SetupMenuPanel,
IN H2O_LTDE_PANEL_ITEM *SelectedPanelItem,
IN H2O_LTDE_CONTROL *SelectedControl
);
//
// Hot Key Panel
//
EFI_STATUS
InitHotKeyPanel (
VOID
);
EFI_STATUS
DisplayHotKeyPanel (
VOID
);
EFI_STATUS
HotKeyPanelProcessMouseClick (
IN H2O_LTDE_PANEL *HotKeyPanel,
IN H2O_LTDE_PANEL_ITEM *SelectedPanelItem,
IN H2O_LTDE_CONTROL *SelectedControl,
IN H2O_DISPLAY_ENGINE_USER_INPUT_DATA *UserInputData
);
//
// Help Text Panel
//
EFI_STATUS
InitHelpTextPanel (
VOID
);
EFI_STATUS
DisplayHelpTextPanel (
VOID
);
EFI_STATUS
HelpTextPanelProcessUserInput (
IN EFI_INPUT_KEY *UserInputKey
);
EFI_STATUS
HelpTextPanelProcessMouseClick (
IN H2O_LTDE_PANEL_ITEM *SelectedPanelItem,
IN H2O_LTDE_CONTROL *SelectedControl
);
//
// Setup Page Panel
//
BOOLEAN
IsCurrentHighlight (
IN H2O_PAGE_ID PageId,
IN EFI_QUESTION_ID QuestionId,
IN EFI_IFR_OP_HEADER *IfrOpCode
);
EFI_STATUS
UpdateSetupPageControl (
IN H2O_LTDE_PANEL *SetupPagePanel,
IN H2O_LTDE_PANEL_ITEM *ContentItem,
IN H2O_FORM_BROWSER_S *Statement,
OUT H2O_LTDE_CONTROL *Control
);
EFI_STATUS
InitSetupPagePanel (
VOID
);
EFI_STATUS
DisplaySetupPagePanel (
VOID
);
EFI_STATUS
DisplaySetupPagePanelContentItemControl (
IN H2O_LTDE_PANEL *SetupPagePanel,
IN H2O_LTDE_PANEL_ITEM *ContentItem,
IN H2O_LTDE_CONTROL *Control
);
EFI_STATUS
SetupPagePanelProcessSelectQEvt (
IN H2O_LTDE_PANEL *SetupPagePanel,
IN H2O_DISPLAY_ENGINE_EVT_SELECT_Q *SelectQ
);
EFI_STATUS
SetupPagePanelProcessSelectQHotKey (
IN H2O_LTDE_PANEL *SetupPagePanel,
IN BOOLEAN GoNext
);
EFI_STATUS
SetupPagePanelProcessOpenQHotKey (
IN H2O_LTDE_PANEL *SetupPagePanel,
IN H2O_LTDE_CONTROL *Control OPTIONAL
);
EFI_STATUS
SetupPagePanelProcessChangeQHotKey (
IN H2O_LTDE_PANEL *SetupPagePanel,
IN BOOLEAN Increase
);
EFI_STATUS
SetupPagePanelProcessHotKey (
IN EFI_INPUT_KEY *UserInputKey
);
EFI_STATUS
SetupPagePanelProcessMouseClick (
IN H2O_LTDE_PANEL *SetupPagePanel,
IN H2O_LTDE_PANEL_ITEM *SelectedPanelItem,
IN H2O_LTDE_CONTROL *SelectedControl,
IN H2O_DISPLAY_ENGINE_USER_INPUT_DATA *UserInputData
);
//
// Question Panel
//
EFI_STATUS
DisplayQuestionPanelControl (
IN H2O_LTDE_PANEL *QuestionPanel,
IN H2O_LTDE_CONTROL *Control,
IN BOOLEAN IsHighlight
);
EFI_STATUS
DisplayQuestionPanel (
IN H2O_LTDE_PANEL *QuestionPanel
);
EFI_STATUS
ShutdownQuestionPanel (
IN H2O_LTDE_PANEL *QuestionPanel
);
EFI_STATUS
QuestionPanelInitTitleItem (
IN H2O_FORM_BROWSER_D *Dialog,
IN OUT H2O_LTDE_PANEL_ITEM *TitleItem
);
EFI_STATUS
QuestionPanelInitContentItem (
IN H2O_FORM_BROWSER_D *Dialog,
IN OUT H2O_LTDE_PANEL_ITEM *ContentItem
);
EFI_STATUS
QuestionPanelInitContentHotKeyItem (
IN H2O_FORM_BROWSER_D *Dialog,
IN UINT32 PanelItemId,
IN OUT H2O_LTDE_PANEL_ITEM *PanelItem
);
EFI_STATUS
QuestionPanelInitButtonItem (
IN H2O_FORM_BROWSER_D *Dialog,
IN OUT H2O_LTDE_PANEL_ITEM *ButtonItem
);
H2O_LTDE_CONTROL *
QuestionPanelGetDefaultHighlight (
IN H2O_LTDE_PANEL *QuestionPanel
);
EFI_STATUS
QuestionPanelUpdateField (
IN H2O_FORM_BROWSER_D *Dialog,
IN H2O_LTDE_PANEL *QuestionPanel
);
EFI_STATUS
QuestionPanelProcessOpenDEvt (
IN H2O_FORM_BROWSER_D *Dialog,
IN H2O_LTDE_PANEL *QuestionPanel
);
EFI_STATUS
QuestionPanelProcessUserInput (
IN H2O_LTDE_PANEL *QuestionPanel,
IN H2O_DISPLAY_ENGINE_USER_INPUT_DATA *UserInputData,
OUT H2O_LTDE_CONTROL **SelectedControl,
OUT CHAR16 **InputString,
OUT BOOLEAN *IsShutdownDialog
);
EFI_STATUS
DisplayPanelItem (
IN H2O_LTDE_PANEL *Panel,
IN H2O_LTDE_PANEL_ITEM *PanelItem
);
#endif