diff options
| author | Simon Glass <[email protected]> | 2025-05-02 08:46:24 -0600 |
|---|---|---|
| committer | Simon Glass <[email protected]> | 2025-05-30 09:49:32 +0100 |
| commit | 9f44b544e1d8b23dec51567c657e81488a289d6d (patch) | |
| tree | 6d8232cd634cc5a8b8c8b28543a6085f8eec6517 /include | |
| parent | c43791c4871a0635594b1f08c57a54c4a533c710 (diff) | |
expo: Provide access to the current menu item
Add functions to allow a caller to find out the current menu item and to
select a different one.
Update the event handling so that an attempt to change the current item
(e.g. by pressing the up-arrow key) is reported to the caller, since
this may be used to cancel an autoboot timeout.
Signed-off-by: Simon Glass <[email protected]>
Diffstat (limited to 'include')
| -rw-r--r-- | include/expo.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/include/expo.h b/include/expo.h index f8d44c0ea20..a2b093c521d 100644 --- a/include/expo.h +++ b/include/expo.h @@ -690,6 +690,26 @@ int scene_menu_set_title(struct scene *scn, uint id, uint title_id); int scene_menu_set_pointer(struct scene *scn, uint id, uint cur_item_id); /** + * scene_menu_select_item() - move the pointer/highlight to an item + * + * @scn: Scene to update + * @id: ID of menu object to update + * @sel_id: ID of the menuitem to select + * Return 0 on success, -ENOENT if there was no such item + */ +int scene_menu_select_item(struct scene *scn, uint id, uint sel_id); + +/** + * scene_menu_get_cur_item() - get the currently pointed-to item + * + * @scn: Scene to update + * @id: ID of menu object to update + * Return ID of the current item the menu is pointing to, -ENOENT if @id is not + * valid, 0 if no item is pointed to + */ +int scene_menu_get_cur_item(struct scene *scn, uint id); + +/** * scene_obj_get_hw() - Get width and height of an object in a scene * * @scn: Scene to check |
