mirror of
https://github.com/libretro/RetroArch.git
synced 2025-04-02 10:51:52 -04:00
Move '_refresh' functions to menu_entries.c
This commit is contained in:
parent
9f79d7b21b
commit
819723be06
18 changed files with 70 additions and 76 deletions
|
@ -262,10 +262,8 @@ static int action_left_cheat_num_passes(unsigned type, const char *label,
|
|||
|
||||
if (cheat->size)
|
||||
new_size = cheat->size - 1;
|
||||
menu_set_refresh();
|
||||
|
||||
if (menu_needs_refresh())
|
||||
cheat_manager_realloc(cheat, new_size);
|
||||
menu_entries_set_refresh();
|
||||
cheat_manager_realloc(cheat, new_size);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -285,10 +283,8 @@ static int action_left_shader_num_passes(unsigned type, const char *label,
|
|||
|
||||
if (shader->passes)
|
||||
shader->passes--;
|
||||
menu_set_refresh();
|
||||
|
||||
if (menu_needs_refresh())
|
||||
video_shader_resolve_parameters(NULL, menu->shader);
|
||||
menu_entries_set_refresh();
|
||||
video_shader_resolve_parameters(NULL, menu->shader);
|
||||
|
||||
#endif
|
||||
return 0;
|
||||
|
|
|
@ -263,10 +263,8 @@ static int action_right_cheat_num_passes(unsigned type, const char *label,
|
|||
return -1;
|
||||
|
||||
new_size = cheat->size + 1;
|
||||
menu_set_refresh();
|
||||
|
||||
if (menu_needs_refresh())
|
||||
cheat_manager_realloc(cheat, new_size);
|
||||
menu_entries_set_refresh();
|
||||
cheat_manager_realloc(cheat, new_size);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -286,10 +284,8 @@ static int action_right_shader_num_passes(unsigned type, const char *label,
|
|||
|
||||
if ((shader->passes < GFX_MAX_SHADERS))
|
||||
shader->passes++;
|
||||
menu_set_refresh();
|
||||
|
||||
if (menu_needs_refresh())
|
||||
video_shader_resolve_parameters(NULL, menu->shader);
|
||||
menu_entries_set_refresh();
|
||||
video_shader_resolve_parameters(NULL, menu->shader);
|
||||
|
||||
#endif
|
||||
return 0;
|
||||
|
|
|
@ -208,8 +208,8 @@ static int action_start_shader_num_passes(unsigned type, const char *label)
|
|||
return -1;
|
||||
if (shader->passes)
|
||||
shader->passes = 0;
|
||||
menu_set_refresh();
|
||||
|
||||
menu_entries_set_refresh();
|
||||
video_shader_resolve_parameters(NULL, menu->shader);
|
||||
#endif
|
||||
return 0;
|
||||
|
@ -225,8 +225,8 @@ static int action_start_cheat_num_passes(unsigned type, const char *label)
|
|||
|
||||
if (cheat->size)
|
||||
{
|
||||
menu_entries_set_refresh();
|
||||
cheat_manager_realloc(cheat, 0);
|
||||
menu_set_refresh();
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -376,7 +376,7 @@ static void glui_frame(void)
|
|||
glui = (glui_handle_t*)menu->userdata;
|
||||
|
||||
if (
|
||||
menu_needs_refresh()
|
||||
menu_entries_needs_refresh()
|
||||
&& menu_driver_alive()
|
||||
&& !disp->msg_force
|
||||
&& !glui->box_message[0]
|
||||
|
|
|
@ -367,7 +367,7 @@ static void rgui_render(void)
|
|||
if (!menu)
|
||||
return;
|
||||
|
||||
if (menu_needs_refresh() && menu_driver_alive() && !disp->msg_force)
|
||||
if (menu_entries_needs_refresh() && menu_driver_alive() && !disp->msg_force)
|
||||
return;
|
||||
|
||||
if (runloop->is_idle)
|
||||
|
|
|
@ -145,7 +145,7 @@ static void rmenu_render(void)
|
|||
return;
|
||||
}
|
||||
|
||||
if (menu_needs_refresh() && menu_driver_alive()
|
||||
if (menu_entries_needs_refresh() && menu_driver_alive()
|
||||
&& !disp->msg_force)
|
||||
return;
|
||||
|
||||
|
|
|
@ -546,7 +546,7 @@ static void rmenu_xui_render(void)
|
|||
if (!menu)
|
||||
return;
|
||||
if (
|
||||
menu_needs_refresh() &&
|
||||
menu_entries_needs_refresh() &&
|
||||
menu_driver_alive() &&
|
||||
!disp->msg_force
|
||||
)
|
||||
|
|
|
@ -2208,7 +2208,7 @@ static void xmb_toggle(bool menu_on)
|
|||
menu_animation_push(disp->animation, XMB_DELAY, 1.0f,
|
||||
&xmb->alpha, EASING_IN_OUT_QUAD, NULL);
|
||||
|
||||
xmb->prevent_populate = !menu_needs_refresh();
|
||||
xmb->prevent_populate = !menu_entries_needs_refresh();
|
||||
|
||||
xmb_toggle_horizontal_list(xmb, menu);
|
||||
}
|
||||
|
|
34
menu/menu.c
34
menu/menu.c
|
@ -323,37 +323,3 @@ int menu_iterate(retro_input_t input,
|
|||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int menu_do_refresh(unsigned action)
|
||||
{
|
||||
menu_handle_t *menu = menu_driver_get_ptr();
|
||||
if (!menu || menu->nonblocking_refresh)
|
||||
return -1;
|
||||
if (!menu_needs_refresh())
|
||||
return -1;
|
||||
return menu_entry_iterate(MENU_ACTION_REFRESH);
|
||||
}
|
||||
|
||||
bool menu_needs_refresh(void)
|
||||
{
|
||||
menu_handle_t *menu = menu_driver_get_ptr();
|
||||
if (!menu)
|
||||
return false;
|
||||
return menu->need_refresh;
|
||||
}
|
||||
|
||||
void menu_set_refresh(void)
|
||||
{
|
||||
menu_handle_t *menu = menu_driver_get_ptr();
|
||||
if (!menu)
|
||||
return;
|
||||
menu->need_refresh = true;
|
||||
}
|
||||
|
||||
void menu_unset_refresh(void)
|
||||
{
|
||||
menu_handle_t *menu = menu_driver_get_ptr();
|
||||
if (!menu)
|
||||
return;
|
||||
menu->need_refresh = false;
|
||||
}
|
||||
|
|
|
@ -190,14 +190,6 @@ void menu_common_load_content(bool persist);
|
|||
|
||||
void menu_update_system_info(menu_handle_t *menu, bool *load_no_content);
|
||||
|
||||
int menu_do_refresh(unsigned action);
|
||||
|
||||
bool menu_needs_refresh(void);
|
||||
|
||||
void menu_set_refresh(void);
|
||||
|
||||
void menu_unset_refresh(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -1683,7 +1683,7 @@ int menu_displaylist_push_list(menu_displaylist_info_t *info, unsigned type)
|
|||
|
||||
menu_list_push(info->list, info->path, info->label, info->type, info->directory_ptr, 0);
|
||||
menu_navigation_clear(nav, true);
|
||||
menu_set_refresh();
|
||||
menu_entries_set_refresh();
|
||||
break;
|
||||
case DISPLAYLIST_HELP:
|
||||
menu_list_push(info->list, info->path, info->label, info->type, info->directory_ptr, 0);
|
||||
|
|
|
@ -117,3 +117,37 @@ void menu_entries_get_core_title(char *s, size_t len)
|
|||
snprintf(s, len, "%s - %s %s", PACKAGE_VERSION,
|
||||
core_name, core_version);
|
||||
}
|
||||
|
||||
int menu_entries_refresh(unsigned action)
|
||||
{
|
||||
menu_handle_t *menu = menu_driver_get_ptr();
|
||||
if (!menu || menu->nonblocking_refresh)
|
||||
return -1;
|
||||
if (!menu_entries_needs_refresh())
|
||||
return -1;
|
||||
return menu_entry_iterate(MENU_ACTION_REFRESH);
|
||||
}
|
||||
|
||||
bool menu_entries_needs_refresh(void)
|
||||
{
|
||||
menu_handle_t *menu = menu_driver_get_ptr();
|
||||
if (!menu)
|
||||
return false;
|
||||
return menu->need_refresh;
|
||||
}
|
||||
|
||||
void menu_entries_set_refresh(void)
|
||||
{
|
||||
menu_handle_t *menu = menu_driver_get_ptr();
|
||||
if (!menu)
|
||||
return;
|
||||
menu->need_refresh = true;
|
||||
}
|
||||
|
||||
void menu_entries_unset_refresh(void)
|
||||
{
|
||||
menu_handle_t *menu = menu_driver_get_ptr();
|
||||
if (!menu)
|
||||
return;
|
||||
menu->need_refresh = false;
|
||||
}
|
||||
|
|
|
@ -49,6 +49,14 @@ void menu_entries_get_core_title(char *title_msg, size_t title_msg_len);
|
|||
|
||||
menu_entries_t *menu_entries_get_ptr(void);
|
||||
|
||||
int menu_entries_refresh(unsigned action);
|
||||
|
||||
bool menu_entries_needs_refresh(void);
|
||||
|
||||
void menu_entries_set_refresh(void);
|
||||
|
||||
void menu_entries_unset_refresh(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -46,8 +46,8 @@ int menu_entry_go_back(void)
|
|||
menu_setting_apply_deferred();
|
||||
menu_list_pop_stack(menu_list);
|
||||
|
||||
if (menu_needs_refresh())
|
||||
menu_do_refresh(MENU_ACTION_CANCEL);
|
||||
if (menu_entries_needs_refresh())
|
||||
menu_entries_refresh(MENU_ACTION_CANCEL);
|
||||
|
||||
rarch_main_data_iterate();
|
||||
|
||||
|
@ -416,7 +416,7 @@ int menu_entry_iterate(unsigned action)
|
|||
if (!menu_list)
|
||||
return -1;
|
||||
|
||||
if (action != MENU_ACTION_NOOP || menu_needs_refresh() || menu_display_update_pending())
|
||||
if (action != MENU_ACTION_NOOP || menu_entries_needs_refresh() || menu_display_update_pending())
|
||||
menu_display_fb_set_dirty();
|
||||
|
||||
cbs = (menu_file_list_cbs_t*)menu_list_get_last_stack_actiondata(menu_list);
|
||||
|
@ -488,7 +488,7 @@ int menu_entry_action(menu_entry_t *entry, unsigned i, enum menu_action action)
|
|||
if (cbs && cbs->action_refresh)
|
||||
{
|
||||
ret = cbs->action_refresh(menu_list->selection_buf, menu_list->menu_stack);
|
||||
menu_unset_refresh();
|
||||
menu_entries_unset_refresh();
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
|
@ -264,7 +264,7 @@ void menu_list_flush_stack(menu_list_t *list,
|
|||
if (!list)
|
||||
return;
|
||||
|
||||
menu_set_refresh();
|
||||
menu_entries_set_refresh();
|
||||
menu_list_get_last(list->menu_stack, &path, &label, &type, &entry_idx);
|
||||
|
||||
while (menu_list_flush_stack_type(needle, label, type, final_type) != 0)
|
||||
|
@ -286,7 +286,7 @@ void menu_list_pop_stack(menu_list_t *list)
|
|||
menu_driver_list_cache(MENU_LIST_PLAIN, 0);
|
||||
|
||||
menu_list_pop(list->menu_stack, &nav->selection_ptr);
|
||||
menu_set_refresh();
|
||||
menu_entries_set_refresh();
|
||||
}
|
||||
|
||||
void menu_list_pop_stack_by_needle(menu_list_t *list,
|
||||
|
@ -302,7 +302,7 @@ void menu_list_pop_stack_by_needle(menu_list_t *list,
|
|||
if (!list)
|
||||
return;
|
||||
|
||||
menu_set_refresh();
|
||||
menu_entries_set_refresh();
|
||||
menu_list_get_last(list->menu_stack, &path, &label, &type, &entry_idx);
|
||||
needle_hash = djb2_calculate(needle);
|
||||
label_hash = djb2_calculate(label);
|
||||
|
|
|
@ -175,7 +175,7 @@ void menu_shader_manager_set_preset(struct video_shader *shader,
|
|||
}
|
||||
config_file_free(conf);
|
||||
|
||||
menu_set_refresh();
|
||||
menu_entries_set_refresh();
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -53,6 +53,7 @@
|
|||
#ifdef HAVE_MENU
|
||||
#include "menu/menu.h"
|
||||
#include "menu/menu_hash.h"
|
||||
#include "menu/menu_entries.h"
|
||||
#include "menu/menu_setting.h"
|
||||
#include "menu/menu_shader.h"
|
||||
#include "menu/menu_input.h"
|
||||
|
@ -1323,7 +1324,7 @@ void rarch_main_set_state(unsigned cmd)
|
|||
global->system.frame_time_last = 0;
|
||||
}
|
||||
|
||||
menu_set_refresh();
|
||||
menu_entries_set_refresh();
|
||||
menu_driver_set_alive();
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
|
||||
#ifdef HAVE_MENU
|
||||
#include "menu/menu.h"
|
||||
#include "menu/menu_entries.h"
|
||||
#include "menu/menu_input.h"
|
||||
#endif
|
||||
|
||||
|
@ -271,7 +272,7 @@ void rarch_main_data_iterate(void)
|
|||
}
|
||||
|
||||
#ifdef HAVE_MENU
|
||||
menu_do_refresh(MENU_ACTION_REFRESH);
|
||||
menu_entries_refresh(MENU_ACTION_REFRESH);
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_THREADS
|
||||
|
|
Loading…
Add table
Reference in a new issue