mirror of
https://github.com/libretro/RetroArch
synced 2025-04-10 06:44:27 +00:00
(menu_entries_cbs_toggle.c) Cut down on some code duplication
This commit is contained in:
parent
ecce47a8fb
commit
d5056a3251
@ -22,17 +22,15 @@
|
|||||||
|
|
||||||
#include "../retroarch.h"
|
#include "../retroarch.h"
|
||||||
|
|
||||||
static int shader_action_parameter_toggle(unsigned type, const char *label,
|
|
||||||
unsigned action, bool wraparound)
|
|
||||||
{
|
|
||||||
#ifdef HAVE_SHADER_MANAGER
|
#ifdef HAVE_SHADER_MANAGER
|
||||||
struct video_shader_parameter *param = NULL;
|
static void shader_action_parameter_toggle_common(
|
||||||
struct video_shader *shader = video_shader_driver_get_current_shader();
|
struct video_shader_parameter *param,
|
||||||
|
struct video_shader *shader,
|
||||||
|
unsigned action)
|
||||||
|
{
|
||||||
if (!shader)
|
if (!shader)
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
param = &shader->parameters[type - MENU_SETTINGS_SHADER_PARAMETER_0];
|
|
||||||
|
|
||||||
switch (action)
|
switch (action)
|
||||||
{
|
{
|
||||||
@ -49,7 +47,18 @@ static int shader_action_parameter_toggle(unsigned type, const char *label,
|
|||||||
}
|
}
|
||||||
|
|
||||||
param->current = min(max(param->minimum, param->current), param->maximum);
|
param->current = min(max(param->minimum, param->current), param->maximum);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static int shader_action_parameter_toggle(unsigned type, const char *label,
|
||||||
|
unsigned action, bool wraparound)
|
||||||
|
{
|
||||||
|
#ifdef HAVE_SHADER_MANAGER
|
||||||
|
struct video_shader *shader = video_shader_driver_get_current_shader();
|
||||||
|
struct video_shader_parameter *param =
|
||||||
|
&shader->parameters[type - MENU_SETTINGS_SHADER_PARAMETER_0];
|
||||||
|
|
||||||
|
shader_action_parameter_toggle_common(param, shader, action);
|
||||||
#endif
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -58,33 +67,15 @@ static int shader_action_parameter_preset_toggle(unsigned type, const char *labe
|
|||||||
unsigned action, bool wraparound)
|
unsigned action, bool wraparound)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_SHADER_MANAGER
|
#ifdef HAVE_SHADER_MANAGER
|
||||||
struct video_shader *shader = NULL;
|
|
||||||
struct video_shader_parameter *param = NULL;
|
struct video_shader_parameter *param = NULL;
|
||||||
menu_handle_t *menu = menu_driver_get_ptr();
|
menu_handle_t *menu = menu_driver_get_ptr();
|
||||||
if (!menu)
|
struct video_shader *shader = menu ? menu->shader : NULL;
|
||||||
|
if (!menu || !shader)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if (!(shader = menu->shader))
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
param = &shader->parameters[type - MENU_SETTINGS_SHADER_PRESET_PARAMETER_0];
|
param = &shader->parameters[type - MENU_SETTINGS_SHADER_PRESET_PARAMETER_0];
|
||||||
|
|
||||||
switch (action)
|
shader_action_parameter_toggle_common(param, shader, action);
|
||||||
{
|
|
||||||
case MENU_ACTION_LEFT:
|
|
||||||
param->current -= param->step;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MENU_ACTION_RIGHT:
|
|
||||||
param->current += param->step;
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
param->current = min(max(param->minimum, param->current), param->maximum);
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user