mirror of
https://github.com/libretro/RetroArch
synced 2025-01-31 06:32:48 +00:00
Refactor away menu_driver_list_cache
This commit is contained in:
parent
b105fa5a4f
commit
fe529ff591
@ -254,16 +254,13 @@ static int action_left_scroll(unsigned type, const char *label,
|
|||||||
|
|
||||||
static int action_left_goto_tab(void)
|
static int action_left_goto_tab(void)
|
||||||
{
|
{
|
||||||
menu_ctx_list_t list_info;
|
|
||||||
struct menu_state *menu_st = menu_state_get_ptr();
|
struct menu_state *menu_st = menu_state_get_ptr();
|
||||||
menu_list_t *menu_list = menu_st->entries.list;
|
menu_list_t *menu_list = menu_st->entries.list;
|
||||||
file_list_t *selection_buf = menu_list ? MENU_LIST_GET_SELECTION(menu_list, 0) : NULL;
|
file_list_t *selection_buf = menu_list ? MENU_LIST_GET_SELECTION(menu_list, 0) : NULL;
|
||||||
|
|
||||||
list_info.type = MENU_LIST_HORIZONTAL;
|
if (menu_st->driver_ctx && menu_st->driver_ctx->list_cache)
|
||||||
list_info.action = MENU_ACTION_LEFT;
|
menu_st->driver_ctx->list_cache(menu_st->userdata,
|
||||||
|
MENU_LIST_HORIZONTAL, MENU_ACTION_LEFT);
|
||||||
menu_driver_list_cache(&list_info);
|
|
||||||
|
|
||||||
return menu_driver_deferred_push_content_list(selection_buf);
|
return menu_driver_deferred_push_content_list(selection_buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6988,7 +6988,7 @@ static int action_ok_start_core(const char *path,
|
|||||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||||
{
|
{
|
||||||
content_ctx_info_t content_info;
|
content_ctx_info_t content_info;
|
||||||
menu_ctx_list_t list_info;
|
struct menu_state *menu_st = menu_state_get_ptr();
|
||||||
|
|
||||||
content_info.argc = 0;
|
content_info.argc = 0;
|
||||||
content_info.argv = NULL;
|
content_info.argv = NULL;
|
||||||
@ -6998,9 +6998,9 @@ static int action_ok_start_core(const char *path,
|
|||||||
/* We are going to push a new menu; ensure
|
/* We are going to push a new menu; ensure
|
||||||
* that the current one is cached for animation
|
* that the current one is cached for animation
|
||||||
* purposes */
|
* purposes */
|
||||||
list_info.type = MENU_LIST_PLAIN;
|
if (menu_st->driver_ctx && menu_st->driver_ctx->list_cache)
|
||||||
list_info.action = 0;
|
menu_st->driver_ctx->list_cache(menu_st->userdata,
|
||||||
menu_driver_list_cache(&list_info);
|
MENU_LIST_PLAIN, MENU_ACTION_NOOP);
|
||||||
|
|
||||||
path_clear(RARCH_PATH_BASENAME);
|
path_clear(RARCH_PATH_BASENAME);
|
||||||
if (!task_push_start_current_core(&content_info))
|
if (!task_push_start_current_core(&content_info))
|
||||||
|
@ -283,16 +283,12 @@ static int audio_mixer_stream_volume_right(unsigned type, const char *label,
|
|||||||
|
|
||||||
static int action_right_goto_tab(void)
|
static int action_right_goto_tab(void)
|
||||||
{
|
{
|
||||||
menu_ctx_list_t list_info;
|
|
||||||
struct menu_state *menu_st = menu_state_get_ptr();
|
struct menu_state *menu_st = menu_state_get_ptr();
|
||||||
menu_list_t *menu_list = menu_st->entries.list;
|
menu_list_t *menu_list = menu_st->entries.list;
|
||||||
file_list_t *selection_buf = menu_list ? MENU_LIST_GET_SELECTION(menu_list, 0) : NULL;
|
file_list_t *selection_buf = menu_list ? MENU_LIST_GET_SELECTION(menu_list, 0) : NULL;
|
||||||
|
if (menu_st->driver_ctx && menu_st->driver_ctx->list_cache)
|
||||||
list_info.type = MENU_LIST_HORIZONTAL;
|
menu_st->driver_ctx->list_cache(menu_st->userdata,
|
||||||
list_info.action = MENU_ACTION_RIGHT;
|
MENU_LIST_HORIZONTAL, MENU_ACTION_RIGHT);
|
||||||
|
|
||||||
menu_driver_list_cache(&list_info);
|
|
||||||
|
|
||||||
return menu_driver_deferred_push_content_list(selection_buf);
|
return menu_driver_deferred_push_content_list(selection_buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14092,21 +14092,16 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
|
|||||||
info->flags |= MD_FLAG_NEED_NAVIGATION_CLEAR;
|
info->flags |= MD_FLAG_NEED_NAVIGATION_CLEAR;
|
||||||
/* fall-through */
|
/* fall-through */
|
||||||
case DISPLAYLIST_PENDING_CLEAR:
|
case DISPLAYLIST_PENDING_CLEAR:
|
||||||
{
|
if (menu_st->driver_ctx && menu_st->driver_ctx->list_cache)
|
||||||
menu_ctx_list_t list_info;
|
menu_st->driver_ctx->list_cache(menu_st->userdata,
|
||||||
|
MENU_LIST_PLAIN, MENU_ACTION_NOOP);
|
||||||
|
|
||||||
list_info.type = MENU_LIST_PLAIN;
|
if (menu_entries_append(info->list, info->path,
|
||||||
list_info.action = 0;
|
info->label, MSG_UNKNOWN, info->type, info->directory_ptr, 0,
|
||||||
|
NULL))
|
||||||
|
count++;
|
||||||
|
|
||||||
menu_driver_list_cache(&list_info);
|
info->flags |= MD_FLAG_NEED_ENTRIES_REFRESH;
|
||||||
|
|
||||||
if (menu_entries_append(info->list, info->path,
|
|
||||||
info->label, MSG_UNKNOWN, info->type, info->directory_ptr, 0,
|
|
||||||
NULL))
|
|
||||||
count++;
|
|
||||||
|
|
||||||
info->flags |= MD_FLAG_NEED_ENTRIES_REFRESH;
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case DISPLAYLIST_USER_BINDS_LIST:
|
case DISPLAYLIST_USER_BINDS_LIST:
|
||||||
menu_entries_clear(info->list);
|
menu_entries_clear(info->list);
|
||||||
|
@ -4399,17 +4399,6 @@ void menu_driver_frame(bool menu_is_alive, video_frame_info_t *video_info)
|
|||||||
menu_st->driver_ctx->frame(menu_st->userdata, video_info);
|
menu_st->driver_ctx->frame(menu_st->userdata, video_info);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool menu_driver_list_cache(menu_ctx_list_t *list)
|
|
||||||
{
|
|
||||||
struct menu_state *menu_st = &menu_driver_state;
|
|
||||||
if (!list || !menu_st->driver_ctx || !menu_st->driver_ctx->list_cache)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
menu_st->driver_ctx->list_cache(menu_st->userdata,
|
|
||||||
list->type, list->action);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Teardown function for the menu driver. */
|
/* Teardown function for the menu driver. */
|
||||||
void menu_driver_destroy(
|
void menu_driver_destroy(
|
||||||
struct menu_state *menu_st)
|
struct menu_state *menu_st)
|
||||||
|
@ -617,8 +617,6 @@ void menu_driver_frame(bool menu_is_alive, video_frame_info_t *video_info);
|
|||||||
|
|
||||||
int menu_driver_deferred_push_content_list(file_list_t *list);
|
int menu_driver_deferred_push_content_list(file_list_t *list);
|
||||||
|
|
||||||
bool menu_driver_list_cache(menu_ctx_list_t *list);
|
|
||||||
|
|
||||||
bool menu_driver_init(bool video_is_threaded);
|
bool menu_driver_init(bool video_is_threaded);
|
||||||
|
|
||||||
size_t menu_driver_list_get_selection(void);
|
size_t menu_driver_list_get_selection(void);
|
||||||
|
@ -5720,14 +5720,12 @@ static enum runloop_state_enum runloop_check_state(
|
|||||||
* and exit the function to go to the next frame. */
|
* and exit the function to go to the next frame. */
|
||||||
if (menu_st->flags & MENU_ST_FLAG_PENDING_QUICK_MENU)
|
if (menu_st->flags & MENU_ST_FLAG_PENDING_QUICK_MENU)
|
||||||
{
|
{
|
||||||
menu_ctx_list_t list_info;
|
|
||||||
|
|
||||||
/* We are going to push a new menu; ensure
|
/* We are going to push a new menu; ensure
|
||||||
* that the current one is cached for animation
|
* that the current one is cached for animation
|
||||||
* purposes */
|
* purposes */
|
||||||
list_info.type = MENU_LIST_PLAIN;
|
if (menu_st->driver_ctx && menu_st->driver_ctx->list_cache)
|
||||||
list_info.action = 0;
|
menu_st->driver_ctx->list_cache(menu_st->userdata,
|
||||||
menu_driver_list_cache(&list_info);
|
MENU_LIST_PLAIN, MENU_ACTION_NOOP);
|
||||||
|
|
||||||
p_disp->flags |= GFX_DISP_FLAG_MSG_FORCE;
|
p_disp->flags |= GFX_DISP_FLAG_MSG_FORCE;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user