mirror of
https://github.com/libretro/RetroArch
synced 2025-03-28 19:20:35 +00:00
Create Menu Header Opacity setting
This commit is contained in:
parent
b78fcb3e21
commit
60d3b22bb6
@ -528,6 +528,8 @@ static float menu_wallpaper_opacity = 0.300;
|
||||
|
||||
static float menu_footer_opacity = 1.000;
|
||||
|
||||
static float menu_header_opacity = 1.000;
|
||||
|
||||
static unsigned menu_background_gradient = 4;
|
||||
|
||||
#if defined(HAVE_CG) || defined(HAVE_HLSL) || defined(HAVE_GLSL) || defined(HAVE_VULKAN)
|
||||
|
@ -611,6 +611,7 @@ static void config_set_defaults(void)
|
||||
settings->menu.dynamic_wallpaper_enable = false;
|
||||
settings->menu.wallpaper.opacity = menu_wallpaper_opacity;
|
||||
settings->menu.footer.opacity = menu_footer_opacity;
|
||||
settings->menu.header.opacity = menu_header_opacity;
|
||||
settings->menu.thumbnails = menu_thumbnails_default;
|
||||
settings->menu.show_advanced_settings = show_advanced_settings;
|
||||
settings->menu.entry_normal_color = menu_entry_normal_color;
|
||||
@ -1332,6 +1333,7 @@ static bool config_load_file(const char *path, bool set_defaults)
|
||||
"menu_dynamic_wallpaper_enable");
|
||||
CONFIG_GET_FLOAT_BASE(conf, settings, menu.wallpaper.opacity, "menu_wallpaper_opacity");
|
||||
CONFIG_GET_FLOAT_BASE(conf, settings, menu.footer.opacity, "menu_footer_opacity");
|
||||
CONFIG_GET_FLOAT_BASE(conf, settings, menu.header.opacity, "menu_header_opacity");
|
||||
CONFIG_GET_INT_BASE(conf, settings, menu.thumbnails,
|
||||
"menu_thumbnails");
|
||||
CONFIG_GET_BOOL_BASE(conf, settings, menu.navigation.wraparound.enable,
|
||||
@ -2715,6 +2717,8 @@ bool config_save_file(const char *path)
|
||||
settings->menu.wallpaper.opacity);
|
||||
config_set_float(conf, "menu_footer_opacity",
|
||||
settings->menu.footer.opacity);
|
||||
config_set_float(conf, "menu_header_opacity",
|
||||
settings->menu.header.opacity);
|
||||
#endif
|
||||
config_set_string(conf, "video_filter",
|
||||
settings->path.softfilter_plugin);
|
||||
|
@ -131,6 +131,11 @@ typedef struct settings
|
||||
float opacity;
|
||||
} footer;
|
||||
|
||||
struct
|
||||
{
|
||||
float opacity;
|
||||
} header;
|
||||
|
||||
struct
|
||||
{
|
||||
bool enable;
|
||||
|
@ -1643,6 +1643,8 @@ static const char *menu_hash_to_str_us_label_enum(enum msg_hash_enums msg)
|
||||
return "xmb_menu_color_theme";
|
||||
case MENU_ENUM_LABEL_MATERIALUI_MENU_COLOR_THEME:
|
||||
return "materialui_menu_color_theme";
|
||||
case MENU_ENUM_LABEL_MATERIALUI_MENU_HEADER_OPACITY:
|
||||
return "materialui_menu_header_opacity";
|
||||
case MENU_ENUM_LABEL_MATERIALUI_MENU_FOOTER_OPACITY:
|
||||
return "materialui_menu_footer_opacity";
|
||||
case MENU_ENUM_LABEL_XMB_SHADOWS_ENABLE:
|
||||
@ -2125,6 +2127,8 @@ const char *msg_hash_to_str_us(enum msg_hash_enums msg)
|
||||
return "Ribbon";
|
||||
case MENU_ENUM_LABEL_VALUE_MATERIALUI_MENU_FOOTER_OPACITY:
|
||||
return "Footer Opacity";
|
||||
case MENU_ENUM_LABEL_VALUE_MATERIALUI_MENU_HEADER_OPACITY:
|
||||
return "Header Opacity";
|
||||
case MENU_ENUM_LABEL_VALUE_MATERIALUI_MENU_COLOR_THEME_BLUE:
|
||||
return "Blue";
|
||||
case MENU_ENUM_LABEL_VALUE_MATERIALUI_MENU_COLOR_THEME_BLUE_GREY:
|
||||
|
@ -780,6 +780,7 @@ static void mui_frame(void *data)
|
||||
0.00, 0.00, 0.00, 0.2,
|
||||
0.00, 0.00, 0.00, 0.2,
|
||||
};
|
||||
/* TODO/FIXME - convert this over to new hex format */
|
||||
float greyish_blue[16] = {
|
||||
0.22, 0.28, 0.31, 1.00,
|
||||
0.22, 0.28, 0.31, 1.00,
|
||||
@ -818,6 +819,7 @@ static void mui_frame(void *data)
|
||||
float color_nv_body[16] = {0};
|
||||
float color_nv_accent[16] = {0};
|
||||
float footer_bg_color_real[16] = {0};
|
||||
float header_bg_color_real[16] = {0};
|
||||
unsigned width = 0;
|
||||
unsigned height = 0;
|
||||
unsigned ticker_limit = 0;
|
||||
@ -853,10 +855,11 @@ static void mui_frame(void *data)
|
||||
{
|
||||
case MATERIALUI_THEME_BLUE:
|
||||
hex32_to_rgba_normalized(0x2196F3, blue_500, 1.00);
|
||||
hex32_to_rgba_normalized(0x2196F3, header_bg_color_real, 1.00);
|
||||
hex32_to_rgba_normalized(0xE3F2FD, blue_50, 0.90);
|
||||
hex32_to_rgba_normalized(0xFFFFFF, footer_bg_color_real, 1.00);
|
||||
|
||||
header_bg_color = blue_500;
|
||||
header_bg_color = header_bg_color_real;
|
||||
highlighted_entry_color = blue_50;
|
||||
footer_bg_color = footer_bg_color_real;
|
||||
body_bg_color = white_transp_bg;
|
||||
@ -873,10 +876,11 @@ static void mui_frame(void *data)
|
||||
break;
|
||||
case MATERIALUI_THEME_BLUE_GREY:
|
||||
hex32_to_rgba_normalized(0x607D8B, blue_grey_500, 1.00);
|
||||
hex32_to_rgba_normalized(0x607D8B, header_bg_color_real, 1.00);
|
||||
hex32_to_rgba_normalized(0xCFD8DC, blue_grey_50, 0.90);
|
||||
hex32_to_rgba_normalized(0xFFFFFF, footer_bg_color_real, 1.00);
|
||||
|
||||
header_bg_color = blue_grey_500;
|
||||
header_bg_color = header_bg_color_real;
|
||||
body_bg_color = white_transp_bg;
|
||||
highlighted_entry_color = blue_grey_50;
|
||||
footer_bg_color = footer_bg_color_real;
|
||||
@ -893,10 +897,11 @@ static void mui_frame(void *data)
|
||||
break;
|
||||
case MATERIALUI_THEME_GREEN:
|
||||
hex32_to_rgba_normalized(0x4CAF50, green_500, 1.00);
|
||||
hex32_to_rgba_normalized(0x4CAF50, header_bg_color_real, 1.00);
|
||||
hex32_to_rgba_normalized(0xC8E6C9, green_50, 0.90);
|
||||
hex32_to_rgba_normalized(0xFFFFFF, footer_bg_color_real, 1.00);
|
||||
|
||||
header_bg_color = green_500;
|
||||
header_bg_color = header_bg_color_real;
|
||||
body_bg_color = white_transp_bg;
|
||||
highlighted_entry_color = green_50;
|
||||
footer_bg_color = footer_bg_color_real;
|
||||
@ -913,10 +918,11 @@ static void mui_frame(void *data)
|
||||
break;
|
||||
case MATERIALUI_THEME_RED:
|
||||
hex32_to_rgba_normalized(0xF44336, red_500, 1.00);
|
||||
hex32_to_rgba_normalized(0xF44336, header_bg_color_real, 1.00);
|
||||
hex32_to_rgba_normalized(0xFFEBEE, red_50, 0.90);
|
||||
hex32_to_rgba_normalized(0xFFFFFF, footer_bg_color_real, 1.00);
|
||||
|
||||
header_bg_color = red_500;
|
||||
header_bg_color = header_bg_color_real;
|
||||
body_bg_color = white_transp_bg;
|
||||
highlighted_entry_color = red_50;
|
||||
footer_bg_color = footer_bg_color_real;
|
||||
@ -934,10 +940,12 @@ static void mui_frame(void *data)
|
||||
break;
|
||||
case MATERIALUI_THEME_YELLOW:
|
||||
hex32_to_rgba_normalized(0xFFEB3B, yellow_500, 1.00);
|
||||
hex32_to_rgba_normalized(0xFFEB3B, header_bg_color_real, 1.00);
|
||||
hex32_to_rgba_normalized(0xFFF9C4, yellow_200, 0.90);
|
||||
hex32_to_rgba_normalized(0xFFFFFF, footer_bg_color_real, 1.00);
|
||||
|
||||
header_bg_color = yellow_500;
|
||||
header_bg_color = header_bg_color_real;
|
||||
body_bg_color = white_transp_bg;
|
||||
highlighted_entry_color = yellow_200;
|
||||
footer_bg_color = footer_bg_color_real;
|
||||
@ -954,7 +962,8 @@ static void mui_frame(void *data)
|
||||
break;
|
||||
case MATERIALUI_THEME_DARK_BLUE:
|
||||
hex32_to_rgba_normalized(0x212121, footer_bg_color_real, 1.00);
|
||||
header_bg_color = greyish_blue;
|
||||
memcpy(header_bg_color_real, greyish_blue, sizeof(header_bg_color_real));
|
||||
header_bg_color = header_bg_color_real;
|
||||
body_bg_color = almost_black;
|
||||
highlighted_entry_color = grey_bg;
|
||||
footer_bg_color = footer_bg_color_real;
|
||||
@ -971,11 +980,12 @@ static void mui_frame(void *data)
|
||||
break;
|
||||
case MATERIALUI_THEME_NVIDIA_SHIELD:
|
||||
hex32_to_rgba_normalized(0x282F37, color_nv_header,1.00);
|
||||
hex32_to_rgba_normalized(0x282F37, header_bg_color_real,1.00);
|
||||
hex32_to_rgba_normalized(0x202427, color_nv_body, 0.90);
|
||||
hex32_to_rgba_normalized(0x77B900, color_nv_accent,0.90);
|
||||
hex32_to_rgba_normalized(0x202427, footer_bg_color_real, 1.00);
|
||||
|
||||
header_bg_color = color_nv_header;
|
||||
header_bg_color = header_bg_color_real;
|
||||
body_bg_color = color_nv_body;
|
||||
highlighted_entry_color = color_nv_accent;
|
||||
footer_bg_color = footer_bg_color_real;
|
||||
@ -992,6 +1002,7 @@ static void mui_frame(void *data)
|
||||
break;
|
||||
}
|
||||
|
||||
menu_display_set_alpha(header_bg_color_real, settings->menu.header.opacity);
|
||||
menu_display_set_alpha(footer_bg_color_real, settings->menu.footer.opacity);
|
||||
|
||||
video_driver_get_size(&width, &height);
|
||||
|
@ -4424,6 +4424,9 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
|
||||
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_MATERIALUI_MENU_HEADER_OPACITY,
|
||||
PARSE_ONLY_FLOAT, false);
|
||||
menu_displaylist_parse_settings_enum(menu, info,
|
||||
MENU_ENUM_LABEL_MATERIALUI_MENU_FOOTER_OPACITY,
|
||||
PARSE_ONLY_FLOAT, false);
|
||||
|
@ -6967,6 +6967,21 @@ static bool setting_append_list(
|
||||
menu_settings_list_current_add_range(list, list_info, 0, 6, 1, true, true);
|
||||
menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_MATERIALUI_MENU_COLOR_THEME);
|
||||
|
||||
CONFIG_FLOAT(
|
||||
list, list_info,
|
||||
&settings->menu.header.opacity,
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_MATERIALUI_MENU_HEADER_OPACITY),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_MATERIALUI_MENU_HEADER_OPACITY),
|
||||
menu_header_opacity,
|
||||
"%.3f %",
|
||||
&group_info,
|
||||
&subgroup_info,
|
||||
parent_group,
|
||||
general_write_handler,
|
||||
general_read_handler);
|
||||
menu_settings_list_current_add_range(list, list_info, 0.0, 1.0, 0.010, true, true);
|
||||
menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_MATERIALUI_MENU_HEADER_OPACITY);
|
||||
|
||||
CONFIG_FLOAT(
|
||||
list, list_info,
|
||||
&settings->menu.footer.opacity,
|
||||
|
@ -304,6 +304,8 @@ enum msg_hash_enums
|
||||
MENU_ENUM_LABEL_VALUE_SHADER_PIPELINE_RIBBON_SIMPLIFIED,
|
||||
MENU_ENUM_LABEL_VALUE_SHADER_PIPELINE_RIBBON,
|
||||
|
||||
MENU_ENUM_LABEL_MATERIALUI_MENU_HEADER_OPACITY,
|
||||
MENU_ENUM_LABEL_VALUE_MATERIALUI_MENU_HEADER_OPACITY,
|
||||
MENU_ENUM_LABEL_MATERIALUI_MENU_FOOTER_OPACITY,
|
||||
MENU_ENUM_LABEL_VALUE_MATERIALUI_MENU_FOOTER_OPACITY,
|
||||
MENU_ENUM_LABEL_VALUE_MATERIALUI_MENU_COLOR_THEME_BLUE,
|
||||
|
Loading…
x
Reference in New Issue
Block a user