X-Git-Url: https://code.delx.au/refind/blobdiff_plain/0cc0f285174db0f780227e66a31b9aadc79875c1..433d93ad78d6b1947938be72f248e03833943847:/refind/menu.h diff --git a/refind/menu.h b/refind/menu.h index be906a9..1ce1ce9 100644 --- a/refind/menu.h +++ b/refind/menu.h @@ -45,8 +45,17 @@ #ifndef __REFIND_MENU_H_ #define __REFIND_MENU_H_ +#ifdef __MAKEWITH_GNUEFI #include "efi.h" #include "efilib.h" +#else +#include "../include/tiano_includes.h" +#endif +#include "global.h" + +#ifndef _EFI_POINT_H +#include "../EfiLib/AbsolutePointer.h" +#endif #include "libeg.h" @@ -58,6 +67,7 @@ #define MENU_EXIT_ESCAPE (2) #define MENU_EXIT_DETAILS (3) #define MENU_EXIT_TIMEOUT (4) +#define MENU_EXIT_EJECT (5) #define TAG_RETURN (99) @@ -84,14 +94,19 @@ typedef struct { #define SCROLL_MODE_TEXT (0) /* Used in text mode & for GUI submenus */ #define SCROLL_MODE_ICONS (1) /* Used for main GUI menu */ +#define TOUCH_NO_ITEM (-1) +#define TOUCH_LEFT_ARROW (-2) +#define TOUCH_RIGHT_ARROW (-3) + struct _refit_menu_screen; VOID AddMenuInfoLine(IN REFIT_MENU_SCREEN *Screen, IN CHAR16 *InfoLine); VOID AddMenuEntry(IN REFIT_MENU_SCREEN *Screen, IN REFIT_MENU_ENTRY *Entry); -VOID FreeMenu(IN REFIT_MENU_SCREEN *Screen); +UINTN ComputeRow0PosY(VOID); VOID MainMenuStyle(IN REFIT_MENU_SCREEN *Screen, IN SCROLL_STATE *State, IN UINTN Function, IN CHAR16 *ParamText); UINTN RunMenu(IN REFIT_MENU_SCREEN *Screen, OUT REFIT_MENU_ENTRY **ChosenEntry); -UINTN RunMainMenu(IN REFIT_MENU_SCREEN *Screen, IN CHAR16* DefaultSelection, OUT REFIT_MENU_ENTRY **ChosenEntry); +UINTN RunMainMenu(IN REFIT_MENU_SCREEN *Screen, IN CHAR16** DefaultSelection, OUT REFIT_MENU_ENTRY **ChosenEntry); +UINTN FindMainMenuItem(IN REFIT_MENU_SCREEN *Screen, IN SCROLL_STATE *State, IN UINT64 PosX, IN UINT64 PosY); #endif