diff options
Diffstat (limited to 'UefiMonitorTest/UefiMonitorTest.c')
-rw-r--r-- | UefiMonitorTest/UefiMonitorTest.c | 17 |
1 files changed, 13 insertions, 4 deletions
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; |