Move '_refresh' functions to menu_entries.c

This commit is contained in:
twinaphex 2015-06-16 03:03:20 +02:00
parent 9f79d7b21b
commit 819723be06
18 changed files with 70 additions and 76 deletions

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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]

View file

@ -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)

View file

@ -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;

View file

@ -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
)

View file

@ -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);
}

View file

@ -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;
}

View file

@ -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

View file

@ -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);

View file

@ -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;
}

View file

@ -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

View file

@ -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;

View file

@ -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);

View file

@ -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
}

View file

@ -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

View file

@ -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