diff --git a/menu/drivers/menu_generic.c b/menu/drivers/menu_generic.c index a431077943..b70dbac4fd 100644 --- a/menu/drivers/menu_generic.c +++ b/menu/drivers/menu_generic.c @@ -33,23 +33,6 @@ #include "../../runloop.h" -enum menu_state_changes -{ - MENU_STATE_RENDER_FRAMEBUFFER = 0, - MENU_STATE_RENDER_MESSAGEBOX, - MENU_STATE_BLIT, - MENU_STATE_POP_STACK, - MENU_STATE_POST_ITERATE -}; - -enum action_iterate_type -{ - ITERATE_TYPE_DEFAULT = 0, - ITERATE_TYPE_HELP, - ITERATE_TYPE_INFO, - ITERATE_TYPE_BIND -}; - static int action_iterate_help(char *s, size_t len, const char *label) { menu_handle_t *menu = menu_driver_get_ptr(); diff --git a/menu/drivers/menu_generic.h b/menu/drivers/menu_generic.h index da2cea02e9..608a40ed96 100644 --- a/menu/drivers/menu_generic.h +++ b/menu/drivers/menu_generic.h @@ -22,6 +22,23 @@ #include "../menu_input.h" +enum menu_state_changes +{ + MENU_STATE_RENDER_FRAMEBUFFER = 0, + MENU_STATE_RENDER_MESSAGEBOX, + MENU_STATE_BLIT, + MENU_STATE_POP_STACK, + MENU_STATE_POST_ITERATE +}; + +enum action_iterate_type +{ + ITERATE_TYPE_DEFAULT = 0, + ITERATE_TYPE_HELP, + ITERATE_TYPE_INFO, + ITERATE_TYPE_BIND +}; + int generic_menu_iterate(bool render_this_frame, enum menu_action action); bool generic_menu_init_list(void *data); diff --git a/menu/drivers/rgui.c b/menu/drivers/rgui.c index b885789933..6596d988cb 100644 --- a/menu/drivers/rgui.c +++ b/menu/drivers/rgui.c @@ -851,8 +851,8 @@ static int rgui_environ(menu_environ_cb_t type, void *data) menu_ctx_driver_t menu_ctx_rgui = { rgui_set_texture, - generic_menu_iterate, rgui_set_message, + generic_menu_iterate, rgui_render, NULL, rgui_init, diff --git a/menu/drivers/zarch.c b/menu/drivers/zarch.c index fef40e8c29..061188d2c6 100644 --- a/menu/drivers/zarch.c +++ b/menu/drivers/zarch.c @@ -1005,10 +1005,26 @@ static void zarch_context_reset(void) settings->menu.wallpaper, "cb_menu_wallpaper", 0, 1, true); } +static int zarch_iterate(bool render_this_frame, enum menu_action action) +{ + menu_handle_t *menu = menu_driver_get_ptr(); + + if (!menu) + return 0; + + if (render_this_frame) + { + BIT64_SET(menu->state, MENU_STATE_RENDER_FRAMEBUFFER); + BIT64_SET(menu->state, MENU_STATE_BLIT); + } + + return 0; +} + menu_ctx_driver_t menu_ctx_zarch = { NULL, zarch_get_message, - generic_menu_iterate, + zarch_iterate, zarch_render, zarch_frame, zarch_init,