mirror of
https://github.com/libretro/RetroArch
synced 2025-03-20 01:21:03 +00:00
(Menu) Cleanups - make functions static and remove some unnecessary
wrapper functions
This commit is contained in:
parent
9df34788e7
commit
08f71a9b1e
@ -570,6 +570,40 @@ static void action_ok_get_file_browser_start_path(
|
||||
menu_driver_set_pending_selection(pending_selection);
|
||||
}
|
||||
|
||||
static const char *menu_driver_get_last_start_file_name(void)
|
||||
{
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
menu_handle_t *menu = menu_st->driver_data;
|
||||
settings_t *settings = config_get_ptr();
|
||||
bool use_last = settings->bools.use_last_start_directory;
|
||||
/* Return NULL if there is no last 'file name' */
|
||||
if ( !menu
|
||||
|| !use_last
|
||||
|| string_is_empty(menu->last_start_content.file_name))
|
||||
return NULL;
|
||||
return menu->last_start_content.file_name;
|
||||
}
|
||||
|
||||
static const char *menu_driver_get_last_start_directory(void)
|
||||
{
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
menu_handle_t *menu = menu_st->driver_data;
|
||||
settings_t *settings = config_get_ptr();
|
||||
bool use_last = settings->bools.use_last_start_directory;
|
||||
const char *default_directory = settings->paths.directory_menu_content;
|
||||
|
||||
/* Return default directory if there is no
|
||||
* last directory or it's invalid */
|
||||
if ( !menu
|
||||
|| !use_last
|
||||
|| string_is_empty(menu->last_start_content.directory)
|
||||
|| !path_is_directory(menu->last_start_content.directory))
|
||||
return default_directory;
|
||||
|
||||
return menu->last_start_content.directory;
|
||||
}
|
||||
|
||||
|
||||
int generic_action_ok_displaylist_push(const char *path,
|
||||
const char *new_path,
|
||||
const char *label, unsigned type, size_t idx, size_t entry_idx,
|
||||
@ -588,7 +622,7 @@ int generic_action_ok_displaylist_push(const char *path,
|
||||
menu_handle_t *menu = menu_st->driver_data;
|
||||
menu_list_t *menu_list = menu_st->entries.list;
|
||||
settings_t *settings = config_get_ptr();
|
||||
const char *menu_ident = menu_driver_ident();
|
||||
const char *menu_ident = (menu_st->driver_ctx && menu_st->driver_ctx->ident) ? menu_st->driver_ctx->ident : NULL;
|
||||
file_list_t *menu_stack = MENU_LIST_GET(menu_list, 0);
|
||||
#ifdef HAVE_AUDIOMIXER
|
||||
bool audio_enable_menu = settings->bools.audio_enable_menu;
|
||||
@ -1099,9 +1133,9 @@ int generic_action_ok_displaylist_push(const char *path,
|
||||
settings->bools.use_last_start_directory)
|
||||
{
|
||||
info_path = menu_driver_get_last_start_directory();
|
||||
menu_driver_set_pending_selection(menu_driver_get_last_start_file_name());
|
||||
menu_driver_set_pending_selection(
|
||||
menu_driver_get_last_start_file_name());
|
||||
}
|
||||
|
||||
break;
|
||||
case ACTION_OK_DL_SCAN_DIR_LIST:
|
||||
filebrowser_set_type(FILEBROWSER_SCAN_DIR);
|
||||
@ -1416,6 +1450,7 @@ int generic_action_ok_displaylist_push(const char *path,
|
||||
case ACTION_OK_DL_DATABASE_MANAGER_LIST:
|
||||
{
|
||||
char lpl_basename[PATH_MAX_LENGTH];
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
filebrowser_clear_type();
|
||||
fill_pathname_join_special(tmp,
|
||||
settings->paths.path_content_database,
|
||||
@ -1423,7 +1458,10 @@ int generic_action_ok_displaylist_push(const char *path,
|
||||
|
||||
fill_pathname_base(lpl_basename, path, sizeof(lpl_basename));
|
||||
path_remove_extension(lpl_basename);
|
||||
menu_driver_set_thumbnail_system(lpl_basename, sizeof(lpl_basename));
|
||||
if ( menu_st->driver_ctx
|
||||
&& menu_st->driver_ctx->set_thumbnail_system)
|
||||
menu_st->driver_ctx->set_thumbnail_system(
|
||||
menu_st->userdata, lpl_basename, sizeof(lpl_basename));
|
||||
|
||||
info.directory_ptr = idx;
|
||||
info_path = tmp;
|
||||
@ -7857,18 +7895,19 @@ static int action_ok_pl_entry_content_thumbnails(const char *path,
|
||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
char system[PATH_MAX_LENGTH];
|
||||
playlist_t *playlist = playlist_get_cached();
|
||||
menu_handle_t *menu = menu_state_get_ptr()->driver_data;
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
playlist_t *playlist = playlist_get_cached();
|
||||
menu_handle_t *menu = menu_st->driver_data;
|
||||
|
||||
system[0] = '\0';
|
||||
|
||||
if (!playlist)
|
||||
if (!playlist || !menu)
|
||||
return -1;
|
||||
|
||||
if (!menu)
|
||||
return -1;
|
||||
|
||||
menu_driver_get_thumbnail_system(system, sizeof(system));
|
||||
if ( menu_st->driver_ctx
|
||||
&& menu_st->driver_ctx->get_thumbnail_system)
|
||||
menu_st->driver_ctx->get_thumbnail_system(
|
||||
menu_st->userdata, system, sizeof(system));
|
||||
|
||||
task_push_pl_entry_thumbnail_download(system,
|
||||
playlist, menu->rpl_entry_selection_ptr,
|
||||
|
@ -2182,6 +2182,7 @@ static int menu_displaylist_parse_playlist(file_list_t *info_list,
|
||||
char label_spacer[PL_LABEL_SPACER_MAXLEN];
|
||||
size_t list_size = playlist_size(playlist);
|
||||
bool show_inline_core_name = false;
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
const char *menu_driver = menu_driver_ident();
|
||||
menu_search_terms_t *search_terms = menu_entries_search_get_terms();
|
||||
unsigned pl_show_inline_core_name = settings->uints.playlist_show_inline_core_name;
|
||||
@ -2211,32 +2212,37 @@ static int menu_displaylist_parse_playlist(file_list_t *info_list,
|
||||
strlcpy(label_spacer, PL_LABEL_SPACER_DEFAULT, sizeof(label_spacer));
|
||||
}
|
||||
|
||||
/* Inform menu driver of current system name
|
||||
* > Note: history, favorites and images_history
|
||||
* require special treatment here, since info_path
|
||||
* is nonsensical in these cases (and we *do* need
|
||||
* to call set_thumbnail_system() in these cases,
|
||||
* since all three playlist types have thumbnail
|
||||
* support)
|
||||
* EDIT: For correct operation of the quick menu
|
||||
* 'download thumbnails' option, we must also extend
|
||||
* this to music_history and video_history */
|
||||
if (
|
||||
if (menu_st->driver_ctx && menu_st->driver_ctx->set_thumbnail_system)
|
||||
{
|
||||
/* Inform menu driver of current system name
|
||||
* > Note: history, favorites and images_history
|
||||
* require special treatment here, since info_path
|
||||
* is nonsensical in these cases (and we *do* need
|
||||
* to call set_thumbnail_system() in these cases,
|
||||
* since all three playlist types have thumbnail
|
||||
* support)
|
||||
* EDIT: For correct operation of the quick menu
|
||||
* 'download thumbnails' option, we must also extend
|
||||
* this to music_history and video_history */
|
||||
if (
|
||||
string_is_equal(path_playlist, "history")
|
||||
|| string_is_equal(path_playlist, "favorites")
|
||||
|| string_ends_with_size(path_playlist, "_history",
|
||||
strlen(path_playlist), STRLEN_CONST("_history")))
|
||||
{
|
||||
char system_name[15];
|
||||
strlcpy(system_name, path_playlist, sizeof(system_name));
|
||||
menu_driver_set_thumbnail_system(system_name, sizeof(system_name));
|
||||
}
|
||||
else if (!string_is_empty(info_path))
|
||||
{
|
||||
char lpl_basename[256];
|
||||
fill_pathname_base(lpl_basename, info_path, sizeof(lpl_basename));
|
||||
path_remove_extension(lpl_basename);
|
||||
menu_driver_set_thumbnail_system(lpl_basename, sizeof(lpl_basename));
|
||||
|| string_is_equal(path_playlist, "favorites")
|
||||
|| string_ends_with_size(path_playlist, "_history",
|
||||
strlen(path_playlist), STRLEN_CONST("_history")))
|
||||
{
|
||||
char system_name[15];
|
||||
strlcpy(system_name, path_playlist, sizeof(system_name));
|
||||
menu_st->driver_ctx->set_thumbnail_system(
|
||||
menu_st->userdata, system_name, sizeof(system_name));
|
||||
}
|
||||
else if (!string_is_empty(info_path))
|
||||
{
|
||||
char lpl_basename[256];
|
||||
fill_pathname_base(lpl_basename, info_path, sizeof(lpl_basename));
|
||||
path_remove_extension(lpl_basename);
|
||||
menu_st->driver_ctx->set_thumbnail_system(
|
||||
menu_st->userdata, lpl_basename, sizeof(lpl_basename));
|
||||
}
|
||||
}
|
||||
|
||||
/* Preallocate the file list */
|
||||
@ -2483,6 +2489,7 @@ static int menu_displaylist_parse_database_entry(menu_handle_t *menu,
|
||||
playlist_config_t playlist_config;
|
||||
playlist_t *playlist = NULL;
|
||||
database_info_list_t *db_info = NULL;
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
bool show_advanced_settings = settings->bools.menu_show_advanced_settings;
|
||||
const char *dir_playlist = settings->paths.directory_playlist;
|
||||
|
||||
@ -2505,7 +2512,10 @@ static int menu_displaylist_parse_database_entry(menu_handle_t *menu,
|
||||
sizeof(path_base));
|
||||
path_remove_extension(path_base);
|
||||
|
||||
menu_driver_set_thumbnail_system(path_base, sizeof(path_base));
|
||||
if ( menu_st->driver_ctx
|
||||
&& menu_st->driver_ctx->set_thumbnail_system)
|
||||
menu_st->driver_ctx->set_thumbnail_system(
|
||||
menu_st->userdata, path_base, sizeof(path_base));
|
||||
|
||||
strlcat(path_base, ".lpl", sizeof(path_base));
|
||||
|
||||
@ -3348,6 +3358,7 @@ static int menu_displaylist_parse_horizontal_list(
|
||||
menu_displaylist_ctl(DISPLAYLIST_EXPLORE, info, settings);
|
||||
else
|
||||
{
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
playlist_t *playlist = NULL;
|
||||
if (!string_is_empty(item->path))
|
||||
{
|
||||
@ -3366,7 +3377,10 @@ static int menu_displaylist_parse_horizontal_list(
|
||||
* is loaded/cached */
|
||||
fill_pathname_base(lpl_basename, item->path, sizeof(lpl_basename));
|
||||
path_remove_extension(lpl_basename);
|
||||
menu_driver_set_thumbnail_system(lpl_basename, sizeof(lpl_basename));
|
||||
if ( menu_st->driver_ctx
|
||||
&& menu_st->driver_ctx->set_thumbnail_system)
|
||||
menu_st->driver_ctx->set_thumbnail_system(
|
||||
menu_st->userdata, lpl_basename, sizeof(lpl_basename));
|
||||
}
|
||||
|
||||
if ((playlist = playlist_get_cached()))
|
||||
@ -3832,9 +3846,13 @@ static int menu_displaylist_parse_horizontal_content_actions(
|
||||
case PLAYLIST_ENTRY_REMOVE_ENABLE_HIST_FAV:
|
||||
{
|
||||
char system[PATH_MAX_LENGTH];
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
system[0] = '\0';
|
||||
|
||||
menu_driver_get_thumbnail_system(system, sizeof(system));
|
||||
if ( menu_st->driver_ctx
|
||||
&& menu_st->driver_ctx->get_thumbnail_system)
|
||||
menu_st->driver_ctx->get_thumbnail_system(
|
||||
menu_st->userdata, system, sizeof(system));
|
||||
|
||||
if (!string_is_empty(system))
|
||||
remove_entry_enabled =
|
||||
@ -3905,12 +3923,15 @@ static int menu_displaylist_parse_horizontal_content_actions(
|
||||
if (download_enabled)
|
||||
{
|
||||
char system[PATH_MAX_LENGTH];
|
||||
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
system[0] = '\0';
|
||||
|
||||
/* Only show 'Download Thumbnails' on supported playlists */
|
||||
download_enabled = false;
|
||||
menu_driver_get_thumbnail_system(system, sizeof(system));
|
||||
if ( menu_st->driver_ctx
|
||||
&& menu_st->driver_ctx->get_thumbnail_system)
|
||||
menu_st->driver_ctx->get_thumbnail_system(
|
||||
menu_st->userdata, system, sizeof(system));
|
||||
|
||||
if (!string_is_empty(system))
|
||||
download_enabled = !string_ends_with_size(
|
||||
@ -8753,14 +8774,16 @@ unsigned menu_displaylist_build_list(
|
||||
break;
|
||||
case DISPLAYLIST_USER_INTERFACE_SETTINGS_LIST:
|
||||
{
|
||||
bool kiosk_mode_enable = settings->bools.kiosk_mode_enable;
|
||||
bool kiosk_mode_enable = settings->bools.kiosk_mode_enable;
|
||||
#if defined(HAVE_QT) || defined(HAVE_COCOA)
|
||||
bool desktop_menu_enable = settings->bools.desktop_menu_enable;
|
||||
bool desktop_menu_enable = settings->bools.desktop_menu_enable;
|
||||
#endif
|
||||
bool menu_screensaver_supported = menu_driver_screensaver_supported();
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
bool menu_screensaver_supported = ((menu_st->flags & MENU_ST_FLAG_SCREENSAVER_SUPPORTED) > 0);
|
||||
#if defined(HAVE_MATERIALUI) || defined(HAVE_XMB) || defined(HAVE_OZONE)
|
||||
enum menu_screensaver_effect menu_screensaver_animation =
|
||||
(enum menu_screensaver_effect)settings->uints.menu_screensaver_animation;
|
||||
(enum menu_screensaver_effect)
|
||||
settings->uints.menu_screensaver_animation;
|
||||
#endif
|
||||
|
||||
menu_displaylist_build_info_selective_t build_list[] = {
|
||||
@ -11110,15 +11133,15 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
|
||||
menu_displaylist_info_t *info,
|
||||
settings_t *settings)
|
||||
{
|
||||
menu_ctx_displaylist_t disp_list;
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
static bool core_selected = false;
|
||||
bool push_list = (menu_st->driver_ctx->list_push
|
||||
&& menu_st->driver_ctx->list_push(menu_st->driver_data,
|
||||
menu_st->userdata, info, type) == 0);
|
||||
|
||||
disp_list.info = info;
|
||||
disp_list.type = type;
|
||||
|
||||
if (!menu_driver_push_list(&disp_list))
|
||||
if (!push_list)
|
||||
{
|
||||
menu_handle_t *menu = menu_state_get_ptr()->driver_data;
|
||||
menu_handle_t *menu = menu_st->driver_data;
|
||||
bool load_content = true;
|
||||
bool use_filebrowser = false;
|
||||
unsigned count = 0;
|
||||
|
@ -4130,12 +4130,6 @@ int menu_driver_deferred_push_content_list(file_list_t *list)
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool menu_driver_screensaver_supported(void)
|
||||
{
|
||||
struct menu_state *menu_st = &menu_driver_state;
|
||||
return ((menu_st->flags & MENU_ST_FLAG_SCREENSAVER_SUPPORTED) > 0);
|
||||
}
|
||||
|
||||
retro_time_t menu_driver_get_current_time(void)
|
||||
{
|
||||
struct menu_state *menu_st = &menu_driver_state;
|
||||
@ -4210,39 +4204,6 @@ end:
|
||||
menu_input_dialog_end();
|
||||
}
|
||||
|
||||
const char *menu_driver_get_last_start_directory(void)
|
||||
{
|
||||
menu_handle_t *menu = menu_driver_state.driver_data;
|
||||
settings_t *settings = config_get_ptr();
|
||||
bool use_last = settings->bools.use_last_start_directory;
|
||||
const char *default_directory = settings->paths.directory_menu_content;
|
||||
|
||||
/* Return default directory if there is no
|
||||
* last directory or it's invalid */
|
||||
if ( !menu
|
||||
|| !use_last
|
||||
|| string_is_empty(menu->last_start_content.directory)
|
||||
|| !path_is_directory(menu->last_start_content.directory))
|
||||
return default_directory;
|
||||
|
||||
return menu->last_start_content.directory;
|
||||
}
|
||||
|
||||
const char *menu_driver_get_last_start_file_name(void)
|
||||
{
|
||||
menu_handle_t *menu = menu_driver_state.driver_data;
|
||||
settings_t *settings = config_get_ptr();
|
||||
bool use_last = settings->bools.use_last_start_directory;
|
||||
|
||||
/* Return NULL if there is no last 'file name' */
|
||||
if (!menu ||
|
||||
!use_last ||
|
||||
string_is_empty(menu->last_start_content.file_name))
|
||||
return NULL;
|
||||
|
||||
return menu->last_start_content.file_name;
|
||||
}
|
||||
|
||||
void menu_driver_set_last_start_content(const char *start_content_path)
|
||||
{
|
||||
char archive_path[PATH_MAX_LENGTH];
|
||||
@ -4566,7 +4527,7 @@ bool menu_entries_ctl(enum menu_entries_ctl_state state, void *data)
|
||||
{
|
||||
size_t *idx = (size_t*)data;
|
||||
if (!idx)
|
||||
return 0;
|
||||
return false;
|
||||
|
||||
*idx = menu_st->entries.begin;
|
||||
}
|
||||
@ -4676,45 +4637,6 @@ bool menu_driver_list_cache(menu_ctx_list_t *list)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool menu_driver_push_list(menu_ctx_displaylist_t *disp_list)
|
||||
{
|
||||
struct menu_state *menu_st = &menu_driver_state;
|
||||
if (menu_st->driver_ctx->list_push)
|
||||
if (menu_st->driver_ctx->list_push(
|
||||
menu_st->driver_data,
|
||||
menu_st->userdata,
|
||||
disp_list->info, disp_list->type) == 0)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
void menu_driver_set_thumbnail_system(char *s, size_t len)
|
||||
{
|
||||
struct menu_state *menu_st = &menu_driver_state;
|
||||
if ( menu_st->driver_ctx
|
||||
&& menu_st->driver_ctx->set_thumbnail_system)
|
||||
menu_st->driver_ctx->set_thumbnail_system(
|
||||
menu_st->userdata, s, len);
|
||||
}
|
||||
|
||||
void menu_driver_get_thumbnail_system(char *s, size_t len)
|
||||
{
|
||||
struct menu_state *menu_st = &menu_driver_state;
|
||||
if ( menu_st->driver_ctx
|
||||
&& menu_st->driver_ctx->get_thumbnail_system)
|
||||
menu_st->driver_ctx->get_thumbnail_system(
|
||||
menu_st->userdata, s, len);
|
||||
}
|
||||
|
||||
void menu_driver_set_thumbnail_content(char *s, size_t len)
|
||||
{
|
||||
struct menu_state *menu_st = &menu_driver_state;
|
||||
if ( menu_st->driver_ctx
|
||||
&& menu_st->driver_ctx->set_thumbnail_content)
|
||||
menu_st->driver_ctx->set_thumbnail_content(
|
||||
menu_st->userdata, s);
|
||||
}
|
||||
|
||||
/* Teardown function for the menu driver. */
|
||||
void menu_driver_destroy(
|
||||
struct menu_state *menu_st)
|
||||
@ -4954,12 +4876,11 @@ void menu_entries_get_core_title(char *s, size_t len)
|
||||
}
|
||||
|
||||
static bool menu_driver_init_internal(
|
||||
struct menu_state *menu_st,
|
||||
gfx_display_t *p_disp,
|
||||
settings_t *settings,
|
||||
bool video_is_threaded)
|
||||
{
|
||||
struct menu_state *menu_st = &menu_driver_state;;
|
||||
|
||||
if (menu_st->driver_ctx)
|
||||
{
|
||||
const char *ident = menu_st->driver_ctx->ident;
|
||||
@ -4968,9 +4889,9 @@ static bool menu_driver_init_internal(
|
||||
* parameters (and some menu drivers fetch the
|
||||
* current pixel/dpi scale during 'menu_driver_ctx->init()') */
|
||||
if (ident)
|
||||
p_disp->menu_driver_id = menu_driver_set_id(ident);
|
||||
p_disp->menu_driver_id = menu_driver_set_id(ident);
|
||||
else
|
||||
p_disp->menu_driver_id = MENU_DRIVER_ID_UNKNOWN;
|
||||
p_disp->menu_driver_id = MENU_DRIVER_ID_UNKNOWN;
|
||||
|
||||
if (menu_st->driver_ctx->init)
|
||||
{
|
||||
@ -5027,10 +4948,9 @@ bool menu_driver_init(bool video_is_threaded)
|
||||
command_event(CMD_EVENT_CORE_INFO_INIT, NULL);
|
||||
command_event(CMD_EVENT_LOAD_CORE_PERSIST, NULL);
|
||||
|
||||
if ( menu_st->driver_data ||
|
||||
menu_driver_init_internal(
|
||||
p_disp,
|
||||
settings,
|
||||
if ( menu_st->driver_data
|
||||
|| menu_driver_init_internal(
|
||||
menu_st, p_disp, settings,
|
||||
video_is_threaded))
|
||||
{
|
||||
if (menu_st->driver_ctx && menu_st->driver_ctx->context_reset)
|
||||
@ -5256,7 +5176,7 @@ static bool menu_input_key_bind_iterate(
|
||||
/* Inhibits input for 2 frames
|
||||
* > Required, since input is ignored for 1 frame
|
||||
* after certain events - e.g. closing the OSK */
|
||||
menu_st->input_driver_flushing_input = 2;
|
||||
menu_st->input_driver_flushing_input = 2;
|
||||
|
||||
/* We won't be getting any key events, so just cancel early. */
|
||||
if (timed_out)
|
||||
|
@ -631,24 +631,14 @@ int menu_driver_deferred_push_content_list(file_list_t *list);
|
||||
|
||||
bool menu_driver_list_cache(menu_ctx_list_t *list);
|
||||
|
||||
bool menu_driver_push_list(menu_ctx_displaylist_t *disp_list);
|
||||
|
||||
bool menu_driver_init(bool video_is_threaded);
|
||||
|
||||
void menu_driver_set_thumbnail_system(char *s, size_t len);
|
||||
|
||||
void menu_driver_get_thumbnail_system(char *s, size_t len);
|
||||
|
||||
void menu_driver_set_thumbnail_content(char *s, size_t len);
|
||||
|
||||
bool menu_driver_list_get_selection(menu_ctx_list_t *list);
|
||||
|
||||
bool menu_driver_list_get_entry(menu_ctx_list_t *list);
|
||||
|
||||
bool menu_driver_list_get_size(menu_ctx_list_t *list);
|
||||
|
||||
bool menu_driver_screensaver_supported(void);
|
||||
|
||||
retro_time_t menu_driver_get_current_time(void);
|
||||
|
||||
void menu_display_timedate(gfx_display_ctx_datetime_t *datetime);
|
||||
@ -723,8 +713,6 @@ void menu_driver_get_last_shader_pass_path(
|
||||
const char **directory, const char **file_name);
|
||||
#endif
|
||||
|
||||
const char *menu_driver_get_last_start_directory(void);
|
||||
const char *menu_driver_get_last_start_file_name(void);
|
||||
void menu_driver_set_last_start_content(const char *start_content_path);
|
||||
void menu_driver_set_pending_selection(const char *pending_selection);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user