(Menu) Use void* for arguments instead of passing by rgui_handle_t*

This commit is contained in:
twinaphex 2013-11-08 15:38:18 +01:00
parent cc78199051
commit 588224aaed
3 changed files with 34 additions and 20 deletions

View File

@ -42,8 +42,9 @@ static int menu_iterate_func(void *data, unsigned action);
#endif #endif
#ifdef HAVE_SHADER_MANAGER #ifdef HAVE_SHADER_MANAGER
void shader_manager_init(rgui_handle_t *rgui) void shader_manager_init(void *data)
{ {
rgui_handle_t *rgui = (rgui_handle_t*)data;
memset(&rgui->shader, 0, sizeof(rgui->shader)); memset(&rgui->shader, 0, sizeof(rgui->shader));
config_file_t *conf = NULL; config_file_t *conf = NULL;
@ -538,8 +539,9 @@ static uint64_t menu_input(void)
// This only makes sense for PC so far. // This only makes sense for PC so far.
// Consoles use set_keybind callbacks instead. // Consoles use set_keybind callbacks instead.
static int menu_custom_bind_iterate(rgui_handle_t *rgui, unsigned action) static int menu_custom_bind_iterate(void *data, unsigned action)
{ {
rgui_handle_t *rgui = (rgui_handle_t*)data;
(void)action; // Have to ignore action here. Only bind that should work here is Quit RetroArch or something like that. (void)action; // Have to ignore action here. Only bind that should work here is Quit RetroArch or something like that.
if (menu_ctx && menu_ctx->render) if (menu_ctx && menu_ctx->render)
@ -570,12 +572,14 @@ static int menu_custom_bind_iterate(rgui_handle_t *rgui, unsigned action)
return 0; return 0;
} }
static int menu_start_screen_iterate(rgui_handle_t *rgui, unsigned action) static int menu_start_screen_iterate(void *data, unsigned action)
{ {
if (menu_ctx && menu_ctx->render)
menu_ctx->render(rgui);
unsigned i; unsigned i;
char msg[1024]; char msg[1024];
rgui_handle_t *rgui = (rgui_handle_t*)data;
if (menu_ctx && menu_ctx->render)
menu_ctx->render(rgui);
char desc[6][64]; char desc[6][64];
static const unsigned binds[] = { static const unsigned binds[] = {
@ -637,8 +641,9 @@ static int menu_start_screen_iterate(rgui_handle_t *rgui, unsigned action)
return 0; return 0;
} }
static int menu_viewport_iterate(rgui_handle_t *rgui, unsigned action) static int menu_viewport_iterate(void *data, unsigned action)
{ {
rgui_handle_t *rgui = (rgui_handle_t*)data;
rarch_viewport_t *custom = &g_extern.console.screen.viewports.custom_vp; rarch_viewport_t *custom = &g_extern.console.screen.viewports.custom_vp;
unsigned menu_type = 0; unsigned menu_type = 0;
@ -809,8 +814,9 @@ static int menu_viewport_iterate(rgui_handle_t *rgui, unsigned action)
return 0; return 0;
} }
static int menu_settings_iterate(rgui_handle_t *rgui, unsigned action) static int menu_settings_iterate(void *data, unsigned action)
{ {
rgui_handle_t *rgui = (rgui_handle_t*)data;
rgui->frame_buf_pitch = rgui->width * 2; rgui->frame_buf_pitch = rgui->width * 2;
unsigned type = 0; unsigned type = 0;
const char *label = NULL; const char *label = NULL;
@ -964,8 +970,9 @@ static int menu_settings_iterate(rgui_handle_t *rgui, unsigned action)
return 0; return 0;
} }
static inline void menu_descend_alphabet(rgui_handle_t *rgui, size_t *ptr_out) static inline void menu_descend_alphabet(void *data, size_t *ptr_out)
{ {
rgui_handle_t *rgui = (rgui_handle_t*)data;
if (!rgui->scroll_indices_size) if (!rgui->scroll_indices_size)
return; return;
size_t ptr = *ptr_out; size_t ptr = *ptr_out;
@ -977,8 +984,9 @@ static inline void menu_descend_alphabet(rgui_handle_t *rgui, size_t *ptr_out)
*ptr_out = rgui->scroll_indices[i - 1]; *ptr_out = rgui->scroll_indices[i - 1];
} }
static inline void menu_ascend_alphabet(rgui_handle_t *rgui, size_t *ptr_out) static inline void menu_ascend_alphabet(void *data, size_t *ptr_out)
{ {
rgui_handle_t *rgui = (rgui_handle_t*)data;
if (!rgui->scroll_indices_size) if (!rgui->scroll_indices_size)
return; return;
size_t ptr = *ptr_out; size_t ptr = *ptr_out;
@ -990,8 +998,9 @@ static inline void menu_ascend_alphabet(rgui_handle_t *rgui, size_t *ptr_out)
*ptr_out = rgui->scroll_indices[i + 1]; *ptr_out = rgui->scroll_indices[i + 1];
} }
static void menu_flush_stack_type(rgui_handle_t *rgui, unsigned final_type) static void menu_flush_stack_type(void *data, unsigned final_type)
{ {
rgui_handle_t *rgui = (rgui_handle_t*)data;
unsigned type; unsigned type;
type = 0; type = 0;
rgui->need_refresh = true; rgui->need_refresh = true;
@ -1751,11 +1760,12 @@ static inline bool menu_list_elem_is_dir(file_list_t *buf, unsigned offset)
return type != RGUI_FILE_PLAIN; return type != RGUI_FILE_PLAIN;
} }
static void menu_build_scroll_indices(rgui_handle_t *rgui, file_list_t *buf) static void menu_build_scroll_indices(void *data, file_list_t *buf)
{ {
size_t i; size_t i;
int current; int current;
bool current_is_dir; bool current_is_dir;
rgui_handle_t *rgui = (rgui_handle_t*)data;
rgui->scroll_indices_size = 0; rgui->scroll_indices_size = 0;
if (!buf->size) if (!buf->size)
@ -2213,8 +2223,9 @@ void menu_parse_and_resolve(void *data, unsigned menu_type)
rgui->selection_ptr = 0; rgui->selection_ptr = 0;
} }
void menu_init_core_info(rgui_handle_t *rgui) void menu_init_core_info(void *data)
{ {
rgui_handle_t *rgui = (rgui_handle_t*)data;
core_info_list_free(rgui->core_info); core_info_list_free(rgui->core_info);
rgui->core_info = NULL; rgui->core_info = NULL;
if (*rgui->libretro_dir) if (*rgui->libretro_dir)

View File

@ -344,7 +344,7 @@ int rmenu_xui_iterate(void *data, unsigned action);
int rgui_input_postprocess(void *data, uint64_t old_state); int rgui_input_postprocess(void *data, uint64_t old_state);
#ifdef HAVE_SHADER_MANAGER #ifdef HAVE_SHADER_MANAGER
void shader_manager_init(rgui_handle_t *rgui); void shader_manager_init(void *data);
void shader_manager_get_str(struct gfx_shader *shader, void shader_manager_get_str(struct gfx_shader *shader,
char *type_str, size_t type_str_size, unsigned type); char *type_str, size_t type_str_size, unsigned type);
void shader_manager_set_preset(struct gfx_shader *shader, void shader_manager_set_preset(struct gfx_shader *shader,
@ -355,7 +355,7 @@ void menu_ticker_line(char *buf, size_t len, unsigned tick, const char *str, boo
void menu_parse_and_resolve(void *data, unsigned menu_type); void menu_parse_and_resolve(void *data, unsigned menu_type);
void menu_init_core_info(rgui_handle_t *rgui); void menu_init_core_info(void *data);
void load_menu_game_prepare(void); void load_menu_game_prepare(void);
bool load_menu_game(void); bool load_menu_game(void);
@ -368,7 +368,7 @@ bool menu_replace_config(const char *path);
bool menu_save_new_config(void); bool menu_save_new_config(void);
int menu_settings_toggle_setting(rgui_handle_t *rgui, unsigned setting, unsigned action, unsigned menu_type); int menu_settings_toggle_setting(void *data, unsigned setting, unsigned action, unsigned menu_type);
int menu_set_settings(void *data, unsigned setting, unsigned action); int menu_set_settings(void *data, unsigned setting, unsigned action);
void menu_set_settings_label(char *type_str, size_t type_str_size, unsigned *w, unsigned type); void menu_set_settings_label(char *type_str, size_t type_str_size, unsigned *w, unsigned type);

View File

@ -142,11 +142,13 @@ static enum rarch_shader_type shader_manager_get_type(const struct gfx_shader *s
return type; return type;
} }
static int shader_manager_toggle_setting(rgui_handle_t *rgui, unsigned setting, rgui_action_t action) static int shader_manager_toggle_setting(void *data, unsigned setting, rgui_action_t action)
{ {
unsigned dist_shader = setting - RGUI_SETTINGS_SHADER_0; unsigned dist_shader, dist_filter, dist_scale;
unsigned dist_filter = setting - RGUI_SETTINGS_SHADER_0_FILTER; rgui_handle_t *rgui = (rgui_handle_t*)data;
unsigned dist_scale = setting - RGUI_SETTINGS_SHADER_0_SCALE; dist_shader = setting - RGUI_SETTINGS_SHADER_0;
dist_filter = setting - RGUI_SETTINGS_SHADER_0_FILTER;
dist_scale = setting - RGUI_SETTINGS_SHADER_0_SCALE;
if (setting == RGUI_SETTINGS_SHADER_FILTER) if (setting == RGUI_SETTINGS_SHADER_FILTER)
{ {
@ -270,8 +272,9 @@ static int menu_core_setting_toggle(unsigned setting, rgui_action_t action)
return 0; return 0;
} }
int menu_settings_toggle_setting(rgui_handle_t *rgui, unsigned setting, rgui_action_t action, unsigned menu_type) int menu_settings_toggle_setting(void *data, unsigned setting, rgui_action_t action, unsigned menu_type)
{ {
rgui_handle_t *rgui = (rgui_handle_t*)data;
#ifdef HAVE_SHADER_MANAGER #ifdef HAVE_SHADER_MANAGER
if (setting >= RGUI_SETTINGS_SHADER_FILTER && setting <= RGUI_SETTINGS_SHADER_LAST) if (setting >= RGUI_SETTINGS_SHADER_FILTER && setting <= RGUI_SETTINGS_SHADER_LAST)
return shader_manager_toggle_setting(rgui, setting, action); return shader_manager_toggle_setting(rgui, setting, action);