(RGUI) Add option to disable menu transparency

This commit is contained in:
jdgleaver 2021-04-15 12:31:33 +01:00
parent 67c06d17bb
commit 54c45bd54e
10 changed files with 635 additions and 94 deletions

View File

@ -669,6 +669,7 @@ static const float menu_header_opacity = 1.000;
#define DEFAULT_SHOW_ADVANCED_SETTINGS false
#define DEFAULT_RGUI_COLOR_THEME RGUI_THEME_CLASSIC_GREEN
#define DEFAULT_RGUI_TRANSPARENCY true
static const bool rgui_inline_thumbnails = false;
static const bool rgui_swap_thumbnails = false;

View File

@ -1666,6 +1666,7 @@ static struct config_bool_setting *populate_settings_bool(
SETTING_BOOL("rgui_background_filler_thickness_enable", &settings->bools.menu_rgui_background_filler_thickness_enable, true, true, false);
SETTING_BOOL("rgui_border_filler_thickness_enable", &settings->bools.menu_rgui_border_filler_thickness_enable, true, true, false);
SETTING_BOOL("rgui_border_filler_enable", &settings->bools.menu_rgui_border_filler_enable, true, true, false);
SETTING_BOOL("menu_rgui_transparency", &settings->bools.menu_rgui_transparency, true, DEFAULT_RGUI_TRANSPARENCY, false);
SETTING_BOOL("menu_rgui_shadows", &settings->bools.menu_rgui_shadows, true, rgui_shadows, false);
SETTING_BOOL("menu_rgui_full_width_layout", &settings->bools.menu_rgui_full_width_layout, true, rgui_full_width_layout, false);
SETTING_BOOL("rgui_inline_thumbnails", &settings->bools.menu_rgui_inline_thumbnails, true, rgui_inline_thumbnails, false);

View File

@ -610,6 +610,7 @@ typedef struct settings
bool menu_rgui_border_filler_thickness_enable;
bool menu_rgui_border_filler_enable;
bool menu_rgui_full_width_layout;
bool menu_rgui_transparency;
bool menu_rgui_shadows;
bool menu_rgui_inline_thumbnails;
bool menu_rgui_swap_thumbnails;

View File

@ -4148,6 +4148,10 @@ MSG_HASH(
MENU_ENUM_LABEL_MENU_RGUI_FULL_WIDTH_LAYOUT,
"menu_rgui_full_width_layout"
)
MSG_HASH(
MENU_ENUM_LABEL_MENU_RGUI_TRANSPARENCY,
"menu_rgui_transparency"
)
MSG_HASH(
MENU_ENUM_LABEL_MENU_RGUI_SHADOWS,
"menu_rgui_shadows"

View File

@ -8214,6 +8214,14 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RGUI_MENU_THEME_PRESET,
"Select a menu theme preset from the file browser."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_MENU_RGUI_TRANSPARENCY,
"Menu Transparency"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_MENU_RGUI_TRANSPARENCY,
"Enable background display of running content while Quick Menu is active. Disabling transparency may alter theme colors."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_MENU_RGUI_SHADOWS,
"Shadow Effects"

View File

@ -916,6 +916,7 @@ DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_menu_linear_filter,
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_menu_rgui_aspect_ratio_lock, MENU_ENUM_SUBLABEL_MENU_RGUI_ASPECT_RATIO_LOCK)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_rgui_menu_color_theme, MENU_ENUM_SUBLABEL_RGUI_MENU_COLOR_THEME)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_rgui_menu_theme_preset, MENU_ENUM_SUBLABEL_RGUI_MENU_THEME_PRESET)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_menu_rgui_transparency, MENU_ENUM_SUBLABEL_MENU_RGUI_TRANSPARENCY)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_menu_rgui_shadows, MENU_ENUM_SUBLABEL_MENU_RGUI_SHADOWS)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_menu_rgui_particle_effect, MENU_ENUM_SUBLABEL_MENU_RGUI_PARTICLE_EFFECT)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_menu_rgui_particle_effect_speed, MENU_ENUM_SUBLABEL_MENU_RGUI_PARTICLE_EFFECT_SPEED)
@ -4041,6 +4042,9 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
case MENU_ENUM_LABEL_RGUI_MENU_THEME_PRESET:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_rgui_menu_theme_preset);
break;
case MENU_ENUM_LABEL_MENU_RGUI_TRANSPARENCY:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_menu_rgui_transparency);
break;
case MENU_ENUM_LABEL_MENU_RGUI_SHADOWS:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_menu_rgui_shadows);
break;

File diff suppressed because it is too large Load Diff

View File

@ -8857,6 +8857,7 @@ unsigned menu_displaylist_build_list(
bool menu_materialui_icons_enable = settings->bools.menu_materialui_icons_enable;
bool menu_materialui_show_nav_bar = settings->bools.menu_materialui_show_nav_bar;
bool menu_use_preferred_system_color_theme = settings->bools.menu_use_preferred_system_color_theme;
unsigned menu_rgui_color_theme = settings->uints.menu_rgui_color_theme;
unsigned menu_rgui_particle_effect = settings->uints.menu_rgui_particle_effect;
unsigned menu_screensaver_timeout = settings->uints.menu_screensaver_timeout;
@ -8879,7 +8880,8 @@ unsigned menu_displaylist_build_list(
{MENU_ENUM_LABEL_MENU_XMB_ANIMATION_MOVE_UP_DOWN, PARSE_ONLY_UINT, true},
{MENU_ENUM_LABEL_MENU_XMB_ANIMATION_OPENING_MAIN_MENU, PARSE_ONLY_UINT, true},
{MENU_ENUM_LABEL_RGUI_MENU_COLOR_THEME, PARSE_ONLY_UINT, true},
{MENU_ENUM_LABEL_RGUI_MENU_THEME_PRESET, PARSE_ONLY_PATH, true},
{MENU_ENUM_LABEL_RGUI_MENU_THEME_PRESET, PARSE_ONLY_PATH, false},
{MENU_ENUM_LABEL_MENU_RGUI_TRANSPARENCY, PARSE_ONLY_BOOL, false},
{MENU_ENUM_LABEL_MENU_RGUI_SHADOWS, PARSE_ONLY_BOOL, true},
{MENU_ENUM_LABEL_MENU_RGUI_PARTICLE_EFFECT, PARSE_ONLY_UINT, true},
{MENU_ENUM_LABEL_MENU_RGUI_PARTICLE_EFFECT_SPEED, PARSE_ONLY_FLOAT, false},
@ -8937,6 +8939,14 @@ unsigned menu_displaylist_build_list(
if (menu_horizontal_animation)
build_list[i].checked = true;
break;
case MENU_ENUM_LABEL_RGUI_MENU_THEME_PRESET:
if (menu_rgui_color_theme == RGUI_THEME_CUSTOM)
build_list[i].checked = true;
break;
case MENU_ENUM_LABEL_MENU_RGUI_TRANSPARENCY:
if (menu_rgui_color_theme != RGUI_THEME_CUSTOM)
build_list[i].checked = true;
break;
case MENU_ENUM_LABEL_MENU_RGUI_PARTICLE_EFFECT_SPEED:
if (menu_rgui_particle_effect != RGUI_PARTICLE_EFFECT_NONE)
build_list[i].checked = true;

View File

@ -14601,6 +14601,8 @@ static bool setting_append_list(
general_write_handler,
general_read_handler);
(*list)[list_info->index - 1].action_ok = &setting_action_ok_uint;
(*list)[list_info->index - 1].action_left = &setting_uint_action_left_with_refresh;
(*list)[list_info->index - 1].action_right = &setting_uint_action_right_with_refresh;
(*list)[list_info->index - 1].get_string_representation =
&setting_get_string_representation_uint_rgui_menu_color_theme;
menu_settings_list_current_add_range(list, list_info, 0, RGUI_THEME_LAST-1, 1, true, true);
@ -14620,6 +14622,27 @@ static bool setting_append_list(
general_read_handler);
MENU_SETTINGS_LIST_CURRENT_ADD_VALUES(list, list_info, "cfg");
/* ps2 and sdl_dingux gfx drivers do not support
* menu framebuffer transparency */
if (!string_is_equal(settings->arrays.video_driver, "ps2") &&
!string_is_equal(settings->arrays.video_driver, "sdl_dingux"))
{
CONFIG_BOOL(
list, list_info,
&settings->bools.menu_rgui_transparency,
MENU_ENUM_LABEL_MENU_RGUI_TRANSPARENCY,
MENU_ENUM_LABEL_VALUE_MENU_RGUI_TRANSPARENCY,
DEFAULT_RGUI_TRANSPARENCY,
MENU_ENUM_LABEL_VALUE_OFF,
MENU_ENUM_LABEL_VALUE_ON,
&group_info,
&subgroup_info,
parent_group,
general_write_handler,
general_read_handler,
SD_FLAG_NONE);
}
CONFIG_BOOL(
list, list_info,
&settings->bools.menu_rgui_shadows,

View File

@ -1119,6 +1119,7 @@ enum msg_hash_enums
MENU_LABEL(MENU_RGUI_ASPECT_RATIO),
MENU_LABEL(MENU_RGUI_ASPECT_RATIO_LOCK),
MENU_LABEL(MENU_RGUI_FULL_WIDTH_LAYOUT),
MENU_LABEL(MENU_RGUI_TRANSPARENCY),
MENU_LABEL(MENU_RGUI_SHADOWS),
MENU_LABEL(MENU_RGUI_PARTICLE_EFFECT),
MENU_LABEL(MENU_RGUI_PARTICLE_EFFECT_SPEED),