diff options
author | Simon Glass <sjg@chromium.org> | 2023-06-01 10:22:58 -0600 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2023-07-14 12:54:51 -0400 |
commit | 4c87e073a4573159f97eb4ed80ec4088f33c7008 (patch) | |
tree | 52fb7976fe76163d61eb860c78bd16e00f87557a /boot/expo.c | |
parent | 756c9559e60a0ef8434128205adced937240925d (diff) |
expo: Draw the current opened menu on top
When a menu is opened, it must be displayed over all other objects in
the scene, so that all its items are visible.
Handle this by drawing the menu object a second time, after all other
objects have been drawn. Draw all of the objects which are dependent
on the menu object.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'boot/expo.c')
-rw-r--r-- | boot/expo.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/boot/expo.c b/boot/expo.c index d5e935966b..e99555163c 100644 --- a/boot/expo.c +++ b/boot/expo.c @@ -172,6 +172,18 @@ int expo_set_scene_id(struct expo *exp, uint scene_id) return 0; } +int expo_first_scene_id(struct expo *exp) +{ + struct scene *scn; + + if (list_empty(&exp->scene_head)) + return -ENOENT; + + scn = list_first_entry(&exp->scene_head, struct scene, sibling); + + return scn->id; +} + int expo_render(struct expo *exp) { struct udevice *dev = exp->display; |