mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 22:20:21 +00:00
(Menu) Cleanups
This commit is contained in:
parent
668aff2605
commit
3139f13612
@ -285,6 +285,7 @@ static int action_iterate_menu_viewport(char *s, size_t len, const char *label,
|
||||
unsigned type = 0;
|
||||
video_viewport_t *custom = video_viewport_get_custom();
|
||||
menu_handle_t *menu = menu_driver_get_ptr();
|
||||
menu_display_t *disp = menu_display_get_ptr();
|
||||
menu_navigation_t *nav = menu_navigation_get_ptr();
|
||||
menu_list_t *menu_list = menu_list_get_ptr();
|
||||
settings_t *settings = config_get_ptr();
|
||||
@ -407,7 +408,8 @@ static int action_iterate_menu_viewport(char *s, size_t len, const char *label,
|
||||
break;
|
||||
|
||||
case MENU_ACTION_MESSAGE:
|
||||
menu->msg_force = true;
|
||||
if (disp)
|
||||
disp->msg_force = true;
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@ -1113,6 +1113,7 @@ static int action_ok_config_load(const char *path,
|
||||
char config[PATH_MAX_LENGTH] = {0};
|
||||
menu_navigation_t *nav = menu_navigation_get_ptr();
|
||||
menu_handle_t *menu = menu_driver_get_ptr();
|
||||
menu_display_t *disp = menu_display_get_ptr();
|
||||
menu_list_t *menu_list = menu_list_get_ptr();
|
||||
|
||||
if (!menu || !menu_list)
|
||||
@ -1122,7 +1123,9 @@ static int action_ok_config_load(const char *path,
|
||||
|
||||
fill_pathname_join(config, menu_path, path, sizeof(config));
|
||||
menu_list_flush_stack(menu_list, NULL, MENU_SETTINGS);
|
||||
menu->msg_force = true;
|
||||
|
||||
disp->msg_force = true;
|
||||
|
||||
if (rarch_replace_config(config))
|
||||
{
|
||||
menu_navigation_clear(nav, false);
|
||||
|
@ -369,10 +369,12 @@ static void glui_frame(void)
|
||||
|
||||
glui = (glui_handle_t*)menu->userdata;
|
||||
|
||||
if (menu_needs_refresh()
|
||||
if (
|
||||
menu_needs_refresh()
|
||||
&& menu_driver_alive()
|
||||
&& !menu->msg_force
|
||||
&& !glui->box_message[0])
|
||||
&& !disp->msg_force
|
||||
&& !glui->box_message[0]
|
||||
)
|
||||
return;
|
||||
|
||||
video_driver_get_size(&width, &height);
|
||||
@ -394,10 +396,9 @@ static void glui_frame(void)
|
||||
|
||||
glui_render_quad(gl, 0,
|
||||
disp->header_height - menu->scroll_y + glui->line_height *
|
||||
nav->selection_ptr,
|
||||
width, glui->line_height, 1, 1, 1, 0.1);
|
||||
nav->selection_ptr, width, glui->line_height, 1, 1, 1, 0.1);
|
||||
|
||||
anim->is_active = true;
|
||||
anim->is_active = true;
|
||||
anim->label.is_updated = false;
|
||||
|
||||
glui_render_quad(gl, 0, 0, width,
|
||||
|
@ -347,12 +347,13 @@ static void rgui_render(void)
|
||||
char title_msg[64] = {0};
|
||||
char timedate[PATH_MAX_LENGTH] = {0};
|
||||
menu_handle_t *menu = menu_driver_get_ptr();
|
||||
menu_input_t *menu_input = menu_input_get_ptr();
|
||||
menu_display_t *disp = menu_display_get_ptr();
|
||||
menu_framebuf_t *frame_buf = menu_display_fb_get_ptr();
|
||||
menu_navigation_t *nav = menu_navigation_get_ptr();
|
||||
runloop_t *runloop = rarch_main_get_ptr();
|
||||
driver_t *driver = driver_get_ptr();
|
||||
settings_t *settings = config_get_ptr();
|
||||
menu_input_t *menu_input = menu_input_get_ptr();
|
||||
menu_animation_t *anim = menu_animation_get_ptr();
|
||||
uint64_t frame_count = video_driver_get_frame_count();
|
||||
|
||||
@ -361,7 +362,7 @@ static void rgui_render(void)
|
||||
if (!menu)
|
||||
return;
|
||||
|
||||
if (menu_needs_refresh() && menu_driver_alive() && !menu->msg_force)
|
||||
if (menu_needs_refresh() && menu_driver_alive() && !disp->msg_force)
|
||||
return;
|
||||
|
||||
if (runloop->is_idle)
|
||||
@ -493,10 +494,10 @@ static void rgui_render(void)
|
||||
#ifdef GEKKO
|
||||
const char *message_queue;
|
||||
|
||||
if (menu->msg_force)
|
||||
if (disp->msg_force)
|
||||
{
|
||||
message_queue = rarch_main_msg_queue_pull();
|
||||
menu->msg_force = false;
|
||||
disp->msg_force = false;
|
||||
}
|
||||
else
|
||||
message_queue = driver->current_msg;
|
||||
|
@ -128,6 +128,7 @@ static void rmenu_render(void)
|
||||
char title_buf[256] = {0};
|
||||
char title_msg[64] = {0};
|
||||
menu_handle_t *menu = menu_driver_get_ptr();
|
||||
menu_display_t *disp = menu_display_get_ptr();
|
||||
menu_animation_t *anim = menu_animation_get_ptr();
|
||||
menu_list_t *menu_list = menu_list_get_ptr();
|
||||
menu_navigation_t *nav = menu_navigation_get_ptr();
|
||||
@ -145,7 +146,7 @@ static void rmenu_render(void)
|
||||
}
|
||||
|
||||
if (menu_needs_refresh() && menu_driver_alive()
|
||||
&& !menu->msg_force)
|
||||
&& !disp->msg_force)
|
||||
return;
|
||||
|
||||
menu_display_fb_unset_dirty();
|
||||
|
@ -537,14 +537,18 @@ static void rmenu_xui_render(void)
|
||||
const char *label = NULL;
|
||||
unsigned menu_type = 0;
|
||||
menu_handle_t *menu = menu_driver_get_ptr();
|
||||
menu_display_t *disp = menu_display_get_ptr();
|
||||
menu_framebuf_t *frame_buf = menu_display_fb_get_ptr();
|
||||
menu_navigation_t *nav = menu_navigation_get_ptr();
|
||||
uint64_t frame_count = video_driver_get_frame_count();
|
||||
|
||||
if (!menu)
|
||||
return;
|
||||
if (menu_needs_refresh() &&
|
||||
menu_driver_alive() && !menu->msg_force)
|
||||
if (
|
||||
menu_needs_refresh() &&
|
||||
menu_driver_alive() &&
|
||||
!disp->msg_force
|
||||
)
|
||||
return;
|
||||
|
||||
menu_display_fb_unset_dirty();
|
||||
|
12
menu/menu.c
12
menu/menu.c
@ -90,12 +90,13 @@ static void menu_push_to_history_playlist(void)
|
||||
bool menu_load_content(void)
|
||||
{
|
||||
menu_handle_t *menu = menu_driver_get_ptr();
|
||||
menu_display_t *disp = menu_display_get_ptr();
|
||||
driver_t *driver = driver_get_ptr();
|
||||
global_t *global = global_get_ptr();
|
||||
|
||||
/* redraw menu frame */
|
||||
if (menu)
|
||||
menu->msg_force = true;
|
||||
if (disp)
|
||||
disp->msg_force = true;
|
||||
|
||||
menu_entry_iterate(MENU_ACTION_NOOP);
|
||||
|
||||
@ -111,8 +112,8 @@ bool menu_load_content(void)
|
||||
snprintf(msg, sizeof(msg), "Failed to load %s.\n", name);
|
||||
rarch_main_msg_queue_push(msg, 1, 90, false);
|
||||
|
||||
if (menu)
|
||||
menu->msg_force = true;
|
||||
if (disp)
|
||||
disp->msg_force = true;
|
||||
|
||||
return false;
|
||||
}
|
||||
@ -132,6 +133,7 @@ bool menu_load_content(void)
|
||||
|
||||
void menu_common_load_content(bool persist)
|
||||
{
|
||||
menu_display_t *disp = menu_display_get_ptr();
|
||||
menu_handle_t *menu = menu_driver_get_ptr();
|
||||
menu_list_t *menu_list = menu_list_get_ptr();
|
||||
if (!menu || !menu_list)
|
||||
@ -140,7 +142,7 @@ void menu_common_load_content(bool persist)
|
||||
event_command(persist ? EVENT_CMD_LOAD_CONTENT_PERSIST : EVENT_CMD_LOAD_CONTENT);
|
||||
|
||||
menu_list_flush_stack(menu_list, NULL, MENU_SETTINGS);
|
||||
menu->msg_force = true;
|
||||
disp->msg_force = true;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -39,6 +39,8 @@ typedef struct menu_framebuf
|
||||
|
||||
typedef struct menu_display
|
||||
{
|
||||
bool msg_force;
|
||||
|
||||
menu_framebuf_t frame_buf;
|
||||
|
||||
struct
|
||||
|
@ -59,7 +59,6 @@ typedef struct
|
||||
|
||||
bool need_refresh;
|
||||
bool nonblocking_refresh;
|
||||
bool msg_force;
|
||||
bool push_start_screen;
|
||||
|
||||
bool defer_core;
|
||||
|
@ -432,8 +432,9 @@ int menu_entry_iterate(unsigned action)
|
||||
int menu_entry_action(menu_entry_t *entry, unsigned i, enum menu_action action)
|
||||
{
|
||||
int ret = 0;
|
||||
menu_navigation_t *nav = menu_navigation_get_ptr();
|
||||
menu_handle_t *menu = menu_driver_get_ptr();
|
||||
menu_navigation_t *nav = menu_navigation_get_ptr();
|
||||
menu_display_t *disp = menu_display_get_ptr();
|
||||
menu_list_t *menu_list = menu_list_get_ptr();
|
||||
menu_file_list_cbs_t *cbs = menu_list_get_actiondata_at_offset(menu_list->selection_buf, i);
|
||||
|
||||
@ -493,7 +494,8 @@ int menu_entry_action(menu_entry_t *entry, unsigned i, enum menu_action action)
|
||||
break;
|
||||
|
||||
case MENU_ACTION_MESSAGE:
|
||||
menu->msg_force = true;
|
||||
if (disp)
|
||||
disp->msg_force = true;
|
||||
break;
|
||||
|
||||
case MENU_ACTION_SEARCH:
|
||||
|
Loading…
x
Reference in New Issue
Block a user