mirror of
https://github.com/CTCaer/RetroArch.git
synced 2025-02-08 12:50:07 +00:00
(Menu) Refactor handle_driver
This commit is contained in:
parent
2c9011e400
commit
70764a99dd
@ -2856,6 +2856,20 @@ static unsigned menu_gx_resolutions[GX_RESOLUTIONS_LAST][2] = {
|
||||
static unsigned menu_current_gx_resolution = GX_RESOLUTIONS_640_480;
|
||||
#endif
|
||||
|
||||
static void handle_driver(unsigned id, char *driver, size_t sizeof_driver,
|
||||
unsigned action)
|
||||
{
|
||||
switch (action)
|
||||
{
|
||||
case MENU_ACTION_LEFT:
|
||||
find_prev_driver(id, driver, sizeof_driver);
|
||||
break;
|
||||
case MENU_ACTION_RIGHT:
|
||||
find_next_driver(id, driver, sizeof_driver);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void handle_setting(rarch_setting_t *setting,
|
||||
unsigned id, unsigned action)
|
||||
{
|
||||
@ -2882,16 +2896,12 @@ static void handle_setting(rarch_setting_t *setting,
|
||||
switch (id)
|
||||
{
|
||||
case MENU_SETTINGS_DRIVER_VIDEO:
|
||||
if (action == MENU_ACTION_LEFT)
|
||||
find_prev_driver(RARCH_DRIVER_VIDEO, g_settings.video.driver, sizeof(g_settings.video.driver));
|
||||
else if (action == MENU_ACTION_RIGHT)
|
||||
find_next_driver(RARCH_DRIVER_VIDEO, g_settings.video.driver, sizeof(g_settings.video.driver));
|
||||
handle_driver(RARCH_DRIVER_VIDEO, g_settings.video.driver,
|
||||
sizeof(g_settings.video.driver), action);
|
||||
break;
|
||||
case MENU_SETTINGS_DRIVER_AUDIO:
|
||||
if (action == MENU_ACTION_LEFT)
|
||||
find_prev_driver(RARCH_DRIVER_AUDIO, g_settings.audio.driver, sizeof(g_settings.audio.driver));
|
||||
else if (action == MENU_ACTION_RIGHT)
|
||||
find_next_driver(RARCH_DRIVER_AUDIO, g_settings.audio.driver, sizeof(g_settings.audio.driver));
|
||||
handle_driver(RARCH_DRIVER_AUDIO, g_settings.audio.driver,
|
||||
sizeof(g_settings.audio.driver), action);
|
||||
break;
|
||||
case MENU_SETTINGS_DRIVER_AUDIO_RESAMPLER:
|
||||
if (action == MENU_ACTION_LEFT)
|
||||
@ -2900,28 +2910,20 @@ static void handle_setting(rarch_setting_t *setting,
|
||||
find_next_resampler_driver();
|
||||
break;
|
||||
case MENU_SETTINGS_DRIVER_INPUT:
|
||||
if (action == MENU_ACTION_LEFT)
|
||||
find_prev_driver(RARCH_DRIVER_INPUT, g_settings.input.driver, sizeof(g_settings.input.driver));
|
||||
else if (action == MENU_ACTION_RIGHT)
|
||||
find_next_driver(RARCH_DRIVER_INPUT, g_settings.input.driver, sizeof(g_settings.input.driver));
|
||||
handle_driver(RARCH_DRIVER_INPUT, g_settings.input.driver,
|
||||
sizeof(g_settings.input.driver), action);
|
||||
break;
|
||||
case MENU_SETTINGS_DRIVER_CAMERA:
|
||||
if (action == MENU_ACTION_LEFT)
|
||||
find_prev_driver(RARCH_DRIVER_CAMERA, g_settings.camera.driver, sizeof(g_settings.camera.driver));
|
||||
else if (action == MENU_ACTION_RIGHT)
|
||||
find_next_driver(RARCH_DRIVER_CAMERA, g_settings.camera.driver, sizeof(g_settings.camera.driver));
|
||||
handle_driver(RARCH_DRIVER_CAMERA, g_settings.camera.driver,
|
||||
sizeof(g_settings.camera.driver), action);
|
||||
break;
|
||||
case MENU_SETTINGS_DRIVER_LOCATION:
|
||||
if (action == MENU_ACTION_LEFT)
|
||||
find_prev_driver(RARCH_DRIVER_LOCATION, g_settings.location.driver, sizeof(g_settings.location.driver));
|
||||
else if (action == MENU_ACTION_RIGHT)
|
||||
find_next_driver(RARCH_DRIVER_LOCATION, g_settings.location.driver, sizeof(g_settings.location.driver));
|
||||
handle_driver(RARCH_DRIVER_LOCATION, g_settings.location.driver,
|
||||
sizeof(g_settings.location.driver), action);
|
||||
break;
|
||||
case MENU_SETTINGS_DRIVER_MENU:
|
||||
if (action == MENU_ACTION_LEFT)
|
||||
find_prev_driver(RARCH_DRIVER_MENU, g_settings.menu.driver, sizeof(g_settings.menu.driver));
|
||||
else if (action == MENU_ACTION_RIGHT)
|
||||
find_next_driver(RARCH_DRIVER_MENU, g_settings.menu.driver, sizeof(g_settings.menu.driver));
|
||||
handle_driver(RARCH_DRIVER_MENU, g_settings.menu.driver,
|
||||
sizeof(g_settings.menu.driver), action);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user