expo: Adjust how menu items are highlighted

At present when the user moves to a new menu item, the menu code
handles this immediately. This means it is not possible to use an expo
action to effect the same change.

Update this so that EXPOACT_POINT_ITEM is handled in cedit_do_action().

Expand the test to cover this.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass
2025-05-02 08:46:25 -06:00
parent 9af358a1dd
commit 203e56d806
4 changed files with 22 additions and 3 deletions

View File

@@ -148,10 +148,17 @@ int cedit_prepare(struct expo *exp, struct udevice *vid_dev,
int cedit_do_action(struct expo *exp, struct scene *scn,
struct video_priv *vid_priv, struct expo_action *act)
{
int ret;
switch (act->type) {
case EXPOACT_NONE:
case EXPOACT_POINT_ITEM:
return -EAGAIN;
case EXPOACT_POINT_ITEM:
ret = scene_menu_select_item(scn, scn->highlight_id,
act->select.id);
if (ret)
return log_msg_ret("cdp", ret);
break;
case EXPOACT_POINT_OBJ:
scene_set_highlight_id(scn, act->select.id);
cedit_arange(exp, vid_priv, scn->id);