From 7b7d487c9e30fc4a9480209d4b37aa29b7a61ddd Mon Sep 17 00:00:00 2001 From: Joursoir Date: Mon, 25 Apr 2022 15:58:05 +0300 Subject: implement application context --- UefiMonitorTest/UefiMonitorTest.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'UefiMonitorTest/UefiMonitorTest.c') diff --git a/UefiMonitorTest/UefiMonitorTest.c b/UefiMonitorTest/UefiMonitorTest.c index 09923a1..1ac26e2 100644 --- a/UefiMonitorTest/UefiMonitorTest.c +++ b/UefiMonitorTest/UefiMonitorTest.c @@ -7,6 +7,9 @@ #include "UefiMonitorTest.h" +STATIC CONST UMT_STATE_ACTIONS mStateActions[UMT_STATE_END] = { + { NULL, NULL, NULL, NULL, NULL } +}; STATIC EFI_GRAPHICS_OUTPUT_PROTOCOL * @@ -53,15 +56,21 @@ Run ( IN GRAPHICS_CONTEXT *Graphics ) { - BOOLEAN Running; + UMT_CONTEXT Ctx; - Running = TRUE; + Ctx.State = UMT_STATE_MAIN_MENU; + Ctx.Running = TRUE; + Ctx.ShowTip = FALSE; + Ctx.Actions = &mStateActions[Ctx.State]; + Ctx.Graphics = Graphics; + Ctx.Actions->Init (&Ctx); - while (Running == TRUE) + while (Ctx.Running == TRUE) { + Ctx.Actions->Doit (&Ctx); + // Buffer swap: CopyMem (Graphics->FrontBuffer, Graphics->BackBuffer, Graphics->BufferSize); - Running = FALSE; } return EFI_SUCCESS; -- cgit v1.2.3-18-g5258