Files
u-boot/boot/bootflow_internal.h
Simon Glass 65898fe68e expo: Add an image that indicates verification
Where an OS is verified by a vendor, add a way to show a suitable symbol
to indicate this.

Series-to: concept
Series-cc: heinrich
Cover-letter:
expo: Extend the boot menu
The current boot menu works but it is still fairly basic. This series
makes various improvements:

- adds buttons for settings, help
- adds a way to show other items for each OS (e.g. distro version-name)
- adds a second logo
- allows a box to be drawn around each item

This series also provides a way to dump the expo as a text file, so that
it can be examined or compared with another one. This is useful for
debugging. A 'cedit dump' command allows dumping the information.

A few fixes are included as well:

- for mouse operation, avoid dropping click events
- for keyboard, fix support for escape sequences
END

Signed-off-by: Simon Glass <sjg@chromium.org>
2025-10-10 03:11:26 +01:00

79 lines
1.7 KiB
C

/* SPDX-License-Identifier: GPL-2.0+ */
/*
* Internal header file for bootflow
*
* Copyright 2022 Google LLC
* Written by Simon Glass <sjg@chromium.org>
*/
#ifndef __BOOTFLOW_INTERNAL_H
#define __BOOTFLOW_INTERNAL_H
/**
* enum boomenu_id_t - expo IDs for elements of the bootflow menu
*
* @OBJ_OTHER_LOGO: Second logo (separate from the U-Boot logo)
* @OBJ_SETTINGS: Select settings / change layout
* @OBJ_HELP: Select help
*
* The ranges below are as follows:
*
* @ITEM: Menu items
* @ITEM_LABEL: Short Media or other label to indicate what it is, e.g. "mmc0"
* @ITEM_DESC: Longer description or pretty name, e.g. "Ubuntu 2024.04 LTS"
* @ITEM_KEY: Keypress to select this item, e.g. "1"
* @ITEM_PREVIEW: Preview image for the OS
* @ITEM_VERSION_NAME: Distro's name for the version, e.g. 'Noble Numbat'
* @ITEM_BOX: Box around the item (normally hidden)
* @ITEM_VERIFIED: Indicates that the item is verified by the vendor
*/
enum boomenu_id_t {
START,
/* strings */
STR_PROMPT1A,
STR_PROMPT1B,
STR_PROMPT2,
STR_AUTOBOOT,
STR_MENU_TITLE,
STR_POINTER,
/* scene */
MAIN,
/* objects */
OBJ_U_BOOT_LOGO,
OBJ_BOX,
OBJ_MENU,
OBJ_PROMPT1A,
OBJ_PROMPT1B,
OBJ_PROMPT2,
OBJ_MENU_TITLE,
OBJ_POINTER,
OBJ_AUTOBOOT,
OBJ_OTHER_LOGO,
OBJ_SETTINGS,
OBJ_HELP,
/* strings for menu items */
STR_LABEL = 100,
STR_DESC = 200,
STR_KEY = 300,
STR_VERSION_NAME = 400,
/* menu items / components (bootflow number is added to these) */
ITEM = 600,
ITEM_LABEL = 700,
ITEM_DESC = 800,
ITEM_KEY = 900,
ITEM_PREVIEW = 1000,
ITEM_VERSION_NAME = 1100,
ITEM_BOX = 1200,
ITEM_VERIFIED = 1300,
/* left margin for the main menu */
MARGIN_LEFT = 100,
};
#endif /* __BOOTFLOW_INTERNAL_H */