+} // VOID MainMenuStyle()
+
+// Enable the user to edit boot loader options.
+// Returns TRUE if the user exited with edited options; FALSE if the user
+// pressed Esc to terminate the edit.
+static BOOLEAN EditOptions(LOADER_ENTRY *MenuEntry) {
+ UINTN x_max, y_max;
+ CHAR16 *EditedOptions;
+ CHAR16 message[] = L"Use cursor keys to edit, Esc to exit, Enter to boot with edited options";
+ EG_PIXEL DarkBackgroundPixel = { 0x0, 0x0, 0x0, 0 };
+ BOOLEAN retval = FALSE;
+
+ refit_call4_wrapper(ST->ConOut->QueryMode, ST->ConOut, ST->ConOut->Mode->Mode, &x_max, &y_max);
+
+ if (!GlobalConfig.TextOnly)
+ SwitchToText(TRUE);
+
+ egClearScreen(&DarkBackgroundPixel);
+
+ refit_call3_wrapper(ST->ConOut->SetCursorPosition, ST->ConOut, 0, y_max - 1);
+ refit_call2_wrapper(ST->ConOut->OutputString, ST->ConOut, message);
+
+ if (line_edit(MenuEntry->LoadOptions, &EditedOptions, x_max, 1)) {
+ MyFreePool(MenuEntry->LoadOptions);
+ MenuEntry->LoadOptions = EditedOptions;
+ retval = TRUE;
+ } // if
+ if (!GlobalConfig.TextOnly)
+ SwitchToGraphics();
+ return retval;
+} // VOID EditOptions()