(Menu) Call menu driver's 'bind_init' function callback

This commit is contained in:
twinaphex 2015-06-08 16:06:51 +02:00
parent 5af0ce575c
commit 35837fcc0f
3 changed files with 23 additions and 1 deletions

View File

@ -333,6 +333,21 @@ void menu_driver_frame(void)
driver->frame(); driver->frame();
} }
int menu_driver_bind_init(menu_file_list_cbs_t *cbs,
const char *path, const char *label, unsigned type, size_t idx,
const char *elem0, const char *elem1,
uint32_t label_hash, uint32_t menu_label_hash)
{
int ret = 0;
const menu_ctx_driver_t *driver = menu_ctx_driver_get_ptr();
if (driver && driver->bind_init)
ret = driver->bind_init(cbs, path, label, type, idx, elem0, elem1,
label_hash, menu_label_hash);
return ret;
}
void menu_driver_free(menu_handle_t *menu) void menu_driver_free(menu_handle_t *menu)
{ {
const menu_ctx_driver_t *driver = menu_ctx_driver_get_ptr(); const menu_ctx_driver_t *driver = menu_ctx_driver_get_ptr();

View File

@ -259,7 +259,7 @@ typedef struct menu_ctx_driver
void (*list_cache)(menu_list_type_t, unsigned); void (*list_cache)(menu_list_type_t, unsigned);
size_t(*list_get_size)(void *data, menu_list_type_t); size_t(*list_get_size)(void *data, menu_list_type_t);
void (*list_set_selection)(file_list_t *list); void (*list_set_selection)(file_list_t *list);
int (*menu_entries_cbs_init_bind)(menu_file_list_cbs_t *cbs, int (*bind_init)(menu_file_list_cbs_t *cbs,
const char *path, const char *label, unsigned type, size_t idx, const char *path, const char *label, unsigned type, size_t idx,
const char *elem0, const char *elem1, const char *elem0, const char *elem1,
uint32_t label_hash, uint32_t menu_label_hash); uint32_t label_hash, uint32_t menu_label_hash);
@ -366,6 +366,11 @@ void menu_driver_set_alive(void);
void menu_driver_unset_alive(void); void menu_driver_unset_alive(void);
int menu_driver_bind_init(menu_file_list_cbs_t *cbs,
const char *path, const char *label, unsigned type, size_t idx,
const char *elem0, const char *elem1,
uint32_t label_hash, uint32_t menu_label_hash);
/* HACK */ /* HACK */
extern unsigned int rdb_entry_start_game_selection_ptr; extern unsigned int rdb_entry_start_game_selection_ptr;

View File

@ -149,4 +149,6 @@ void menu_entries_init(void *data,
ret = menu_entries_cbs_init_bind_title(cbs, path, label, type, idx, elem0, elem1, label_hash, menu_label_hash); ret = menu_entries_cbs_init_bind_title(cbs, path, label, type, idx, elem0, elem1, label_hash, menu_label_hash);
menu_entries_init_log(ret, "TITLE", label, elem0, elem1, type); menu_entries_init_log(ret, "TITLE", label, elem0, elem1, type);
ret = menu_driver_bind_init(cbs, path, label, type, idx, elem0, elem1, label_hash, menu_label_hash);
} }