Loading...
/* 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
 * @ITEM_LOCKED: Indicates that the partition is encrypted (e.g., LUKS)
 * @ITEM_PASS: Textline object for passphrase entry
 * @ITEM_PASS_LABEL: Label text for the passphrase field (e.g., "Passphrase:")
 * @ITEM_PASS_EDIT: Edit field for entering the passphrase
 * @ITEM_PASS_MSG: Message text for displaying success/error feedback
 */
enum boomenu_id_t {
	START,

	/* strings */
	STR_PROMPT1A,
	STR_PROMPT1B,
	STR_PROMPT2,
	STR_AUTOBOOT,
	STR_MENU_TITLE,
	STR_POINTER,
	STR_PASS_MSG,

	/* 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,
	ITEM_LOCKED = 1400,
	ITEM_PASS = 1500,
	ITEM_PASS_LABEL = 1600,
	ITEM_PASS_EDIT = 1700,
	ITEM_PASS_MSG = 1800,

	/* left margin for the main menu */
	MARGIN_LEFT	 = 100,
};

#endif /* __BOOTFLOW_INTERNAL_H */