Move menu shader code to menu_shader.c

This commit is contained in:
twinaphex 2016-12-24 23:36:07 +01:00
parent 5758da85b0
commit bfd0f0bc3d
3 changed files with 27 additions and 28 deletions

View File

@ -141,64 +141,38 @@ static int action_start_shader_action_parameter(unsigned type, const char *label
static int action_start_shader_action_preset_parameter(unsigned type, const char *label)
{
#ifdef HAVE_SHADER_MANAGER
unsigned parameter = type - MENU_SETTINGS_SHADER_PRESET_PARAMETER_0;
return menu_shader_manager_clear_parameter(parameter);
#else
return 0;
#endif
}
static int action_start_shader_pass(unsigned type, const char *label)
{
#ifdef HAVE_SHADER_MANAGER
hack_shader_pass = type - MENU_SETTINGS_SHADER_PASS_0;
menu_shader_manager_clear_pass_path(hack_shader_pass);
#endif
return 0;
}
static int action_start_shader_scale_pass(unsigned type, const char *label)
{
#ifdef HAVE_SHADER_MANAGER
unsigned pass = type - MENU_SETTINGS_SHADER_PASS_SCALE_0;
menu_shader_manager_clear_pass_scale(pass);
#endif
return 0;
}
static int action_start_shader_filter_pass(unsigned type, const char *label)
{
#ifdef HAVE_SHADER_MANAGER
unsigned pass = type - MENU_SETTINGS_SHADER_PASS_FILTER_0;
return menu_shader_manager_clear_pass_filter(pass);
#endif
return 0;
}
static int action_start_shader_num_passes(unsigned type, const char *label)
{
#ifdef HAVE_SHADER_MANAGER
bool refresh = false;
struct video_shader *shader = NULL;
menu_driver_ctl(RARCH_MENU_CTL_SHADER_GET,
&shader);
if (!shader)
return -1;
if (shader->passes)
shader->passes = 0;
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
video_shader_resolve_parameters(NULL, shader);
#endif
return 0;
return menu_shader_manager_clear_num_passes();
}
static int action_start_cheat_num_passes(unsigned type, const char *label)

View File

@ -361,8 +361,30 @@ bool menu_shader_manager_save_preset(
return false;
}
int menu_shader_manager_clear_num_passes(void)
{
#ifdef HAVE_SHADER_MANAGER
bool refresh = false;
struct video_shader *shader = NULL;
menu_driver_ctl(RARCH_MENU_CTL_SHADER_GET,
&shader);
if (!shader)
return -1;
if (shader->passes)
shader->passes = 0;
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
video_shader_resolve_parameters(NULL, shader);
#endif
return 0;
}
int menu_shader_manager_clear_parameter(unsigned i)
{
#ifdef HAVE_SHADER_MANAGER
struct video_shader *shader = NULL;
struct video_shader_parameter *param = NULL;
@ -375,6 +397,7 @@ int menu_shader_manager_clear_parameter(unsigned i)
param = &shader->parameters[i];
param->current = param->initial;
param->current = MIN(MAX(param->minimum, param->current), param->maximum);
#endif
return 0;
}

View File

@ -66,6 +66,8 @@ unsigned menu_shader_manager_get_type(const void *data);
**/
void menu_shader_manager_apply_changes(void);
int menu_shader_manager_clear_num_passes(void);
int menu_shader_manager_clear_parameter(unsigned i);
int menu_shader_manager_clear_pass_filter(unsigned i);