mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 13:20:30 +00:00
Add MaterialUI menu color theme setting
This commit is contained in:
parent
e0504bfc62
commit
180c0c87c1
@ -474,6 +474,7 @@ static void config_set_defaults(void)
|
||||
settings->menu.xmb.shader_pipeline = menu_shader_pipeline;
|
||||
settings->menu.xmb.font[0] = '\0';
|
||||
#endif
|
||||
settings->menu.materialui.menu_color_theme = 0;
|
||||
|
||||
settings->menu.throttle_framerate = true;
|
||||
settings->menu.linear_filter = true;
|
||||
@ -1532,6 +1533,7 @@ static bool config_load_file(const char *path, bool set_defaults)
|
||||
#ifdef HAVE_XMB
|
||||
CONFIG_GET_INT_BASE(conf, settings, menu.xmb.menu_color_theme, "xmb_menu_color_theme");
|
||||
#endif
|
||||
CONFIG_GET_INT_BASE(conf, settings, menu.materialui.menu_color_theme, "materialui_menu_color_theme");
|
||||
CONFIG_GET_BOOL_BASE(conf, settings, menu.xmb.shadows_enable, "xmb_shadows_enable");
|
||||
CONFIG_GET_INT_BASE(conf, settings, menu.xmb.shader_pipeline, "menu_shader_pipeline");
|
||||
if (config_get_path(conf, "xmb_font", tmp_str, sizeof(tmp_str)))
|
||||
@ -2946,6 +2948,7 @@ bool config_save_file(const char *path)
|
||||
#ifdef HAVE_XMB
|
||||
config_set_int(conf, "xmb_menu_color_theme", settings->menu.xmb.menu_color_theme);
|
||||
#endif
|
||||
config_set_int(conf, "materialui_menu_color_theme", settings->menu.materialui.menu_color_theme);
|
||||
config_set_bool(conf, "xmb_shadows_enable", settings->menu.xmb.shadows_enable);
|
||||
config_set_int(conf, "menu_shader_pipeline", settings->menu.xmb.shader_pipeline);
|
||||
config_set_path(conf, "xmb_font",
|
||||
|
@ -1070,7 +1070,9 @@ const char *msg_hash_to_str_fr(enum msg_hash_enums msg)
|
||||
return "XMB : Police";
|
||||
case MENU_ENUM_LABEL_VALUE_XMB_THEME:
|
||||
return "XMB : Theme";
|
||||
case MENU_ENUM_LABEL_VALUE_XMB_GRADIENT:
|
||||
case MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME:
|
||||
return "Dégradé de font d'écran";
|
||||
case MENU_ENUM_LABEL_VALUE_MATERIALUI_MENU_COLOR_THEME:
|
||||
return "Dégradé de font d'écran";
|
||||
case MENU_ENUM_LABEL_VALUE_XMB_SHADOWS_ENABLE:
|
||||
return "Ombres pour les icones";
|
||||
|
@ -1626,8 +1626,10 @@ static const char *menu_hash_to_str_us_label_enum(enum msg_hash_enums msg)
|
||||
return "xmb_font";
|
||||
case MENU_ENUM_LABEL_XMB_THEME:
|
||||
return "xmb_theme";
|
||||
case MENU_ENUM_LABEL_XMB_GRADIENT:
|
||||
case MENU_ENUM_LABEL_XMB_MENU_COLOR_THEME:
|
||||
return "xmb_menu_color_theme";
|
||||
case MENU_ENUM_LABEL_MATERIALUI_MENU_COLOR_THEME:
|
||||
return "materialui_menu_color_theme";
|
||||
case MENU_ENUM_LABEL_XMB_SHADOWS_ENABLE:
|
||||
return "xmb_shadows_enable";
|
||||
case MENU_ENUM_LABEL_XMB_RIBBON_ENABLE:
|
||||
@ -2832,7 +2834,9 @@ const char *msg_hash_to_str_us(enum msg_hash_enums msg)
|
||||
return "XMB Font";
|
||||
case MENU_ENUM_LABEL_VALUE_XMB_THEME:
|
||||
return "XMB Theme";
|
||||
case MENU_ENUM_LABEL_VALUE_XMB_GRADIENT:
|
||||
case MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME:
|
||||
return "Menu Color Theme";
|
||||
case MENU_ENUM_LABEL_VALUE_MATERIALUI_MENU_COLOR_THEME:
|
||||
return "Menu Color Theme";
|
||||
case MENU_ENUM_LABEL_VALUE_XMB_SHADOWS_ENABLE:
|
||||
return "Icon Shadows Enable";
|
||||
|
@ -682,7 +682,7 @@ static void menu_action_setting_disp_set_label_xmb_theme(
|
||||
}
|
||||
}
|
||||
|
||||
static void menu_action_setting_disp_set_label_xmb_gradient(
|
||||
static void menu_action_setting_disp_set_label_xmb_menu_color_theme(
|
||||
file_list_t* list,
|
||||
unsigned *w, unsigned type, unsigned i,
|
||||
const char *label,
|
||||
@ -731,6 +731,36 @@ static void menu_action_setting_disp_set_label_xmb_gradient(
|
||||
}
|
||||
}
|
||||
|
||||
static void menu_action_setting_disp_set_label_materialui_menu_color_theme(
|
||||
file_list_t* list,
|
||||
unsigned *w, unsigned type, unsigned i,
|
||||
const char *label,
|
||||
char *s, size_t len,
|
||||
const char *entry_label,
|
||||
const char *path,
|
||||
char *s2, size_t len2)
|
||||
{
|
||||
settings_t *settings = config_get_ptr();
|
||||
|
||||
strlcpy(s2, path, len2);
|
||||
*w = 19;
|
||||
|
||||
if (!settings)
|
||||
return;
|
||||
|
||||
switch (settings->menu.materialui.menu_color_theme)
|
||||
{
|
||||
case 0:
|
||||
strlcpy(s, "White", len);
|
||||
break;
|
||||
case 1:
|
||||
strlcpy(s, "Dark", len);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void menu_action_setting_disp_set_label_thumbnails(
|
||||
file_list_t* list,
|
||||
unsigned *w, unsigned type, unsigned i,
|
||||
@ -1413,9 +1443,13 @@ static int menu_cbs_init_bind_get_string_representation_compare_label(
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_xmb_theme);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_XMB_GRADIENT:
|
||||
case MENU_ENUM_LABEL_XMB_MENU_COLOR_THEME:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_xmb_gradient);
|
||||
menu_action_setting_disp_set_label_xmb_menu_color_theme);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_MATERIALUI_MENU_COLOR_THEME:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_materialui_menu_color_theme);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_THUMBNAILS:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
@ -1517,7 +1551,7 @@ static int menu_cbs_init_bind_get_string_representation_compare_label(
|
||||
break;
|
||||
case MENU_LABEL_XMB_GRADIENT:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_xmb_gradient);
|
||||
menu_action_setting_disp_set_label_xmb_menu_color_theme);
|
||||
break;
|
||||
case MENU_LABEL_THUMBNAILS:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
|
@ -780,10 +780,10 @@ static void mui_frame(void *data)
|
||||
0.22, 0.28, 0.31, 1,
|
||||
};
|
||||
float almost_black[16] = {
|
||||
0.13, 0.13, 0.13, 1,
|
||||
0.13, 0.13, 0.13, 1,
|
||||
0.13, 0.13, 0.13, 1,
|
||||
0.13, 0.13, 0.13, 1,
|
||||
0.13, 0.13, 0.13, 0.90,
|
||||
0.13, 0.13, 0.13, 0.90,
|
||||
0.13, 0.13, 0.13, 0.90,
|
||||
0.13, 0.13, 0.13, 0.90,
|
||||
};
|
||||
|
||||
/* This controls the main background color */
|
||||
@ -811,6 +811,7 @@ static void mui_frame(void *data)
|
||||
float *highlighted_entry_color = lightblue_bg;
|
||||
float *footer_bg_color = white_bg;
|
||||
float *body_bg_color = white_transp_bg;
|
||||
settings_t *settings = config_get_ptr();
|
||||
|
||||
uint32_t font_normal_color = 0x212121ff;
|
||||
uint32_t font_hover_color = 0x212121ff;
|
||||
@ -822,6 +823,8 @@ static void mui_frame(void *data)
|
||||
if (!mui)
|
||||
return;
|
||||
|
||||
DARK_THEME = settings->menu.materialui.menu_color_theme;
|
||||
|
||||
clearcolor.r = 1.0f;
|
||||
clearcolor.g = 1.0f;
|
||||
clearcolor.b = 1.0f;
|
||||
|
@ -4433,7 +4433,10 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
|
||||
MENU_ENUM_LABEL_XMB_RIBBON_ENABLE,
|
||||
PARSE_ONLY_UINT, false);
|
||||
menu_displaylist_parse_settings_enum(menu, info,
|
||||
MENU_ENUM_LABEL_XMB_GRADIENT,
|
||||
MENU_ENUM_LABEL_XMB_MENU_COLOR_THEME,
|
||||
PARSE_ONLY_UINT, false);
|
||||
menu_displaylist_parse_settings_enum(menu, info,
|
||||
MENU_ENUM_LABEL_MATERIALUI_MENU_COLOR_THEME,
|
||||
PARSE_ONLY_UINT, false);
|
||||
menu_displaylist_parse_settings_enum(menu, info,
|
||||
MENU_ENUM_LABEL_RGUI_SHOW_START_SCREEN,
|
||||
|
@ -6923,8 +6923,8 @@ static bool setting_append_list(
|
||||
CONFIG_UINT(
|
||||
list, list_info,
|
||||
&settings->menu.xmb.menu_color_theme,
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_XMB_GRADIENT),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_GRADIENT),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_XMB_MENU_COLOR_THEME),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME),
|
||||
menu_background_gradient,
|
||||
&group_info,
|
||||
&subgroup_info,
|
||||
@ -6932,7 +6932,25 @@ static bool setting_append_list(
|
||||
general_write_handler,
|
||||
general_read_handler);
|
||||
menu_settings_list_current_add_range(list, list_info, 0, 8, 1, true, true);
|
||||
menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_XMB_GRADIENT);
|
||||
menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_XMB_MENU_COLOR_THEME);
|
||||
}
|
||||
|
||||
/* only MaterialUI uses these values, don't show them on other drivers */
|
||||
if (string_is_equal(settings->menu.driver, "glui"))
|
||||
{
|
||||
CONFIG_UINT(
|
||||
list, list_info,
|
||||
&settings->menu.materialui.menu_color_theme,
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_MATERIALUI_MENU_COLOR_THEME),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_MATERIALUI_MENU_COLOR_THEME),
|
||||
menu_background_gradient,
|
||||
&group_info,
|
||||
&subgroup_info,
|
||||
parent_group,
|
||||
general_write_handler,
|
||||
general_read_handler);
|
||||
menu_settings_list_current_add_range(list, list_info, 0, 1, 1, true, true);
|
||||
menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_MATERIALUI_MENU_COLOR_THEME);
|
||||
}
|
||||
|
||||
CONFIG_BOOL(
|
||||
|
@ -496,11 +496,12 @@ enum msg_hash_enums
|
||||
MENU_ENUM_LABEL_XMB_ALPHA_FACTOR,
|
||||
MENU_ENUM_LABEL_XMB_FONT,
|
||||
MENU_ENUM_LABEL_XMB_THEME,
|
||||
MENU_ENUM_LABEL_XMB_GRADIENT,
|
||||
MENU_ENUM_LABEL_XMB_MENU_COLOR_THEME,
|
||||
MENU_ENUM_LABEL_XMB_SHADOWS_ENABLE,
|
||||
MENU_ENUM_LABEL_XMB_RIBBON_ENABLE,
|
||||
MENU_ENUM_LABEL_THUMBNAILS,
|
||||
MENU_ENUM_LABEL_TIMEDATE_ENABLE,
|
||||
MENU_ENUM_LABEL_MATERIALUI_MENU_COLOR_THEME,
|
||||
|
||||
MENU_ENUM_LABEL_VALUE_MENU_WALLPAPER,
|
||||
MENU_ENUM_LABEL_VALUE_DYNAMIC_WALLPAPER,
|
||||
@ -517,12 +518,14 @@ enum msg_hash_enums
|
||||
MENU_ENUM_LABEL_VALUE_XMB_ALPHA_FACTOR,
|
||||
MENU_ENUM_LABEL_VALUE_XMB_FONT,
|
||||
MENU_ENUM_LABEL_VALUE_XMB_THEME,
|
||||
MENU_ENUM_LABEL_VALUE_XMB_GRADIENT,
|
||||
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME,
|
||||
MENU_ENUM_LABEL_VALUE_XMB_SHADOWS_ENABLE,
|
||||
MENU_ENUM_LABEL_VALUE_XMB_RIBBON_ENABLE,
|
||||
MENU_ENUM_LABEL_VALUE_THUMBNAILS,
|
||||
MENU_ENUM_LABEL_VALUE_TIMEDATE_ENABLE,
|
||||
|
||||
MENU_ENUM_LABEL_VALUE_MATERIALUI_MENU_COLOR_THEME,
|
||||
|
||||
/* UI settings */
|
||||
MENU_ENUM_LABEL_VIDEO_DISABLE_COMPOSITION,
|
||||
MENU_ENUM_LABEL_UI_COMPANION_ENABLE,
|
||||
|
Loading…
x
Reference in New Issue
Block a user