bootstd: Support setting a theme for the menu

Allow a theme to be set. For now this is very simple, just a default font
size to use for all elements.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass
2023-01-06 08:52:42 -06:00
committed by Tom Rini
parent d985f1dbdd
commit e64c29521c
5 changed files with 139 additions and 3 deletions

View File

@@ -7,6 +7,7 @@
#ifndef __bootflow_h
#define __bootflow_h
#include <dm/ofnode_decl.h>
#include <linux/list.h>
struct bootstd_priv;
@@ -347,6 +348,15 @@ int bootflow_iter_uses_system(const struct bootflow_iter *iter);
*/
int bootflow_menu_new(struct expo **expp);
/**
* bootflow_menu_apply_theme() - Apply a theme to a bootmenu
*
* @exp: Expo to update
* @node: Node containing the theme information
* Returns 0 on success, -ve on error
*/
int bootflow_menu_apply_theme(struct expo *exp, ofnode node);
/**
* bootflow_menu_run() - Create and run a menu of available bootflows
*

View File

@@ -9,6 +9,8 @@
#ifndef __bootstd_h
#define __bootstd_h
#include <dm/ofnode_decl.h>
struct udevice;
/**
@@ -27,6 +29,7 @@ struct udevice;
* @bootmeth_count: Number of bootmeth devices in @bootmeth_order
* @bootmeth_order: List of bootmeth devices to use, in order, NULL-terminated
* @vbe_bootmeth: Currently selected VBE bootmeth, NULL if none
* @theme: Node containing the theme information
*/
struct bootstd_priv {
const char **prefixes;
@@ -37,6 +40,7 @@ struct bootstd_priv {
int bootmeth_count;
struct udevice **bootmeth_order;
struct udevice *vbe_bootmeth;
ofnode theme;
};
/**