Don't pass menu_handle_t * state around

This commit is contained in:
twinaphex 2015-02-13 20:19:20 +01:00
parent 55844f06d7
commit 31b272f25a
4 changed files with 47 additions and 50 deletions

View File

@ -644,10 +644,7 @@ static int action_ok_shader_preset_load(const char *path,
static int action_ok_cheat(const char *path,
const char *label, unsigned type, size_t idx)
{
menu_handle_t *menu = menu_driver_resolve();
if (!menu)
return -1;
menu_input_key_start_line(menu, "Input Cheat",
menu_input_key_start_line("Input Cheat",
label, type, idx, menu_input_st_cheat_callback);
return 0;
}
@ -655,10 +652,7 @@ static int action_ok_cheat(const char *path,
static int action_ok_shader_preset_save_as(const char *path,
const char *label, unsigned type, size_t idx)
{
menu_handle_t *menu = menu_driver_resolve();
if (!menu)
return -1;
menu_input_key_start_line(menu, "Preset Filename",
menu_input_key_start_line("Preset Filename",
label, type, idx, menu_input_st_string_callback);
return 0;
}
@ -666,10 +660,7 @@ static int action_ok_shader_preset_save_as(const char *path,
static int action_ok_cheat_file_save_as(const char *path,
const char *label, unsigned type, size_t idx)
{
menu_handle_t *menu = menu_driver_resolve();
if (!menu)
return -1;
menu_input_key_start_line(menu, "Cheat Filename",
menu_input_key_start_line("Cheat Filename",
label, type, idx, menu_input_st_string_callback);
return 0;
}
@ -677,10 +668,7 @@ static int action_ok_cheat_file_save_as(const char *path,
static int action_ok_remap_file_save_as(const char *path,
const char *label, unsigned type, size_t idx)
{
menu_handle_t *menu = menu_driver_resolve();
if (!menu)
return -1;
menu_input_key_start_line(menu, "Remapping Filename",
menu_input_key_start_line("Remapping Filename",
label, type, idx, menu_input_st_string_callback);
return 0;
}
@ -4320,7 +4308,7 @@ static int action_iterate_custom_bind(const char *label, unsigned action)
menu_handle_t *menu = menu_driver_resolve();
if (!menu)
return -1;
if (menu_input_bind_iterate(menu))
if (menu_input_bind_iterate())
menu_list_pop_stack(menu->menu_list);
return 0;
}
@ -4330,7 +4318,7 @@ static int action_iterate_custom_bind_keyboard(const char *label, unsigned actio
menu_handle_t *menu = menu_driver_resolve();
if (!menu)
return -1;
if (menu_input_bind_iterate_keyboard(menu))
if (menu_input_bind_iterate_keyboard())
menu_list_pop_stack(menu->menu_list);
return 0;
}

View File

@ -33,10 +33,11 @@
#include "../input/input_joypad.h"
#include "../input/input_remapping.h"
void menu_input_key_start_line(menu_handle_t *menu, const char *label,
void menu_input_key_start_line(const char *label,
const char *label_setting, unsigned type, unsigned idx,
input_keyboard_line_complete_t cb)
{
menu_handle_t *menu = menu_driver_resolve();
if (!menu)
return;
@ -48,8 +49,9 @@ void menu_input_key_start_line(menu_handle_t *menu, const char *label,
menu->keyboard.buffer = input_keyboard_start_line(menu, cb);
}
static void menu_input_key_end_line(menu_handle_t *menu)
static void menu_input_key_end_line(void)
{
menu_handle_t *menu = menu_driver_resolve();
if (!menu)
return;
@ -64,7 +66,7 @@ static void menu_input_key_end_line(menu_handle_t *menu)
static void menu_input_search_callback(void *userdata, const char *str)
{
size_t idx;
menu_handle_t *menu = (menu_handle_t*)userdata;
menu_handle_t *menu = menu_driver_resolve();
if (!menu)
return;
@ -72,12 +74,12 @@ static void menu_input_search_callback(void *userdata, const char *str)
if (str && *str && file_list_search(menu->menu_list->selection_buf, str, &idx))
menu_navigation_set(idx, true);
menu_input_key_end_line(menu);
menu_input_key_end_line();
}
void menu_input_st_uint_callback(void *userdata, const char *str)
{
menu_handle_t *menu = (menu_handle_t*)userdata;
menu_handle_t *menu = menu_driver_resolve();
if (!menu)
return;
@ -91,13 +93,13 @@ void menu_input_st_uint_callback(void *userdata, const char *str)
*current_setting->value.unsigned_integer = strtoul(str, NULL, 0);
}
menu_input_key_end_line(menu);
menu_input_key_end_line();
}
void menu_input_st_string_callback(void *userdata, const char *str)
{
menu_handle_t *menu = (menu_handle_t*)userdata;
menu_handle_t *menu = menu_driver_resolve();
if (!menu)
return;
@ -121,7 +123,7 @@ void menu_input_st_string_callback(void *userdata, const char *str)
}
}
menu_input_key_end_line(menu);
menu_input_key_end_line();
}
void menu_input_st_cheat_callback(void *userdata, const char *str)
@ -141,26 +143,24 @@ void menu_input_st_cheat_callback(void *userdata, const char *str)
cheat->cheats[cheat_index].state = true;
}
menu_input_key_end_line(menu);
menu_input_key_end_line();
}
void menu_input_search_start(void)
{
if (!driver.menu)
menu_handle_t *menu = menu_driver_resolve();
if (!menu)
return;
driver.menu->keyboard.display = true;
driver.menu->keyboard.label = "Search: ";
driver.menu->keyboard.buffer =
menu->keyboard.display = true;
menu->keyboard.label = "Search: ";
menu->keyboard.buffer =
input_keyboard_start_line(driver.menu, menu_input_search_callback);
}
void menu_input_key_event(bool down, unsigned keycode,
uint32_t character, uint16_t mod)
{
if (!driver.menu)
return;
(void)down;
(void)keycode;
(void)mod;
@ -347,10 +347,11 @@ bool menu_input_custom_bind_keyboard_cb(void *data, unsigned code)
return (menu->binds.begin <= menu->binds.last);
}
int menu_input_bind_iterate(menu_handle_t *menu)
int menu_input_bind_iterate(void)
{
char msg[PATH_MAX_LENGTH];
struct menu_bind_state binds;
menu_handle_t *menu = menu_driver_resolve();
if (!menu)
return 1;
@ -392,12 +393,16 @@ int menu_input_bind_iterate(menu_handle_t *menu)
return 0;
}
int menu_input_bind_iterate_keyboard(menu_handle_t *menu)
int menu_input_bind_iterate_keyboard(void)
{
char msg[PATH_MAX_LENGTH];
int64_t current;
int timeout = 0;
bool timed_out = false;
menu_handle_t *menu = menu_driver_resolve();
if (!menu)
return -1;
if (driver.video_data && driver.menu_ctx &&
driver.menu_ctx->render)
@ -454,6 +459,10 @@ unsigned menu_input_frame(retro_input_t input, retro_input_t trigger_input)
| (1ULL << RETRO_DEVICE_ID_JOYPAD_RIGHT)
| (1ULL << RETRO_DEVICE_ID_JOYPAD_L)
| (1ULL << RETRO_DEVICE_ID_JOYPAD_R);
menu_handle_t *menu = menu_driver_resolve();
if (!menu)
return 0;
driver.retro_ctx.poll_cb();
@ -465,16 +474,16 @@ unsigned menu_input_frame(retro_input_t input, retro_input_t trigger_input)
if (!first_held)
{
first_held = true;
driver.menu->delay.timer = initial_held ? 12 : 6;
driver.menu->delay.count = 0;
menu->delay.timer = initial_held ? 12 : 6;
menu->delay.count = 0;
}
if (driver.menu->delay.count >= driver.menu->delay.timer)
if (menu->delay.count >= menu->delay.timer)
{
first_held = false;
trigger_input |= input & input_repeat;
driver.menu->scroll.acceleration =
min(driver.menu->scroll.acceleration + 1, 64);
menu->scroll.acceleration =
min(menu->scroll.acceleration + 1, 64);
}
initial_held = false;
@ -483,12 +492,12 @@ unsigned menu_input_frame(retro_input_t input, retro_input_t trigger_input)
{
first_held = false;
initial_held = true;
driver.menu->scroll.acceleration = 0;
menu->scroll.acceleration = 0;
}
driver.menu->mouse.enable = g_settings.menu.mouse_enable;
menu->mouse.enable = g_settings.menu.mouse_enable;
driver.menu->delay.count++;
menu->delay.count++;
if (driver.block_input)
trigger_input = 0;

View File

@ -47,7 +47,7 @@ typedef enum
void menu_input_key_event(bool down, unsigned keycode, uint32_t character,
uint16_t key_modifiers);
void menu_input_key_start_line(menu_handle_t *menu, const char *label,
void menu_input_key_start_line(const char *label,
const char *label_setting, unsigned type, unsigned idx,
input_keyboard_line_complete_t cb);
@ -66,9 +66,9 @@ bool menu_input_poll_find_trigger(struct menu_bind_state *state,
bool menu_input_custom_bind_keyboard_cb(void *data, unsigned code);
int menu_input_bind_iterate(menu_handle_t *menu);
int menu_input_bind_iterate(void);
int menu_input_bind_iterate_keyboard(menu_handle_t *menu);
int menu_input_bind_iterate_keyboard(void);
unsigned menu_input_frame(retro_input_t input, retro_input_t trigger_state);

View File

@ -978,7 +978,7 @@ static int setting_data_uint_action_ok_linefeed(void *data, unsigned action)
if (!setting)
return -1;
menu_input_key_start_line(driver.menu, setting->short_description,
menu_input_key_start_line(setting->short_description,
setting->name, 0, 0, menu_input_st_uint_callback);
return 0;
@ -1046,10 +1046,10 @@ static int setting_data_string_action_ok_allow_input(void *data,
{
rarch_setting_t *setting = (rarch_setting_t*)data;
if (!setting || !driver.menu)
if (!setting)
return -1;
menu_input_key_start_line(driver.menu, setting->short_description,
menu_input_key_start_line(setting->short_description,
setting->name, 0, 0, menu_input_st_string_callback);
return 0;