Add menu wallpaper opacity setting

This commit is contained in:
twinaphex 2016-07-09 15:13:06 +02:00
parent f94a8743a1
commit 2fce2f4045
7 changed files with 40 additions and 0 deletions

View File

@ -609,6 +609,7 @@ static void config_set_defaults(void)
settings->menu.timedate_enable = true;
settings->menu.core_enable = true;
settings->menu.dynamic_wallpaper_enable = false;
settings->menu.wallpaper.opacity = 0.5f;
settings->menu.thumbnails = menu_thumbnails_default;
settings->menu.show_advanced_settings = show_advanced_settings;
settings->menu.entry_normal_color = menu_entry_normal_color;
@ -1328,6 +1329,7 @@ static bool config_load_file(const char *path, bool set_defaults)
"menu_core_enable");
CONFIG_GET_BOOL_BASE(conf, settings, menu.dynamic_wallpaper_enable,
"menu_dynamic_wallpaper_enable");
CONFIG_GET_FLOAT_BASE(conf, settings, menu.wallpaper.opacity, "menu_wallpaper_opacity");
CONFIG_GET_INT_BASE(conf, settings, menu.thumbnails,
"menu_thumbnails");
CONFIG_GET_BOOL_BASE(conf, settings, menu.navigation.wraparound.enable,
@ -2707,6 +2709,8 @@ bool config_save_file(const char *path)
#ifdef HAVE_MENU
config_set_path(conf, "menu_wallpaper",
settings->path.menu_wallpaper);
config_set_float(conf, "menu_wallpaper_opacity",
settings->menu.wallpaper.opacity);
#endif
config_set_string(conf, "video_filter",
settings->path.softfilter_plugin);

View File

@ -121,6 +121,11 @@ typedef struct settings
unsigned thumbnails;
bool throttle;
struct
{
float opacity;
} wallpaper;
struct
{
bool enable;

View File

@ -2086,6 +2086,8 @@ static const char *menu_hash_to_str_us_label_enum(enum msg_hash_enums msg)
return "use_builtin_image_viewer";
case MENU_ENUM_LABEL_INPUT_POLL_TYPE_BEHAVIOR:
return "input_poll_type_behavior";
case MENU_ENUM_LABEL_MENU_WALLPAPER_OPACITY:
return "menu_wallpaper_opacity";
default:
break;
}
@ -3534,6 +3536,8 @@ const char *msg_hash_to_str_us(enum msg_hash_enums msg)
return "Title Screens";
case MENU_ENUM_LABEL_VALUE_THUMBNAIL_MODE_BOXARTS:
return "Boxarts";
case MENU_ENUM_LABEL_VALUE_MENU_WALLPAPER_OPACITY:
return "Wallpaper opacity";
default:
#if 0
RARCH_LOG("Unimplemented: [%d]\n", msg);

View File

@ -507,6 +507,12 @@ void menu_display_draw_bg(menu_display_ctx_draw_t *draw)
draw->coords = &coords;
if (!menu_display_libretro_running())
{
settings_t *settings = config_get_ptr();
menu_display_set_alpha(draw->color, settings->menu.wallpaper.opacity);
}
if (!draw->texture)
draw->texture = menu_display_white_texture;

View File

@ -4378,6 +4378,9 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_DYNAMIC_WALLPAPER,
PARSE_ONLY_BOOL, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_MENU_WALLPAPER_OPACITY,
PARSE_ONLY_FLOAT, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_PAUSE_LIBRETRO,
PARSE_ONLY_BOOL, false);

View File

@ -6592,6 +6592,21 @@ static bool setting_append_list(
menu_settings_list_current_add_values(list, list_info, "png");
menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_MENU_WALLPAPER);
CONFIG_FLOAT(
list, list_info,
&settings->menu.wallpaper.opacity,
msg_hash_to_str(MENU_ENUM_LABEL_MENU_WALLPAPER_OPACITY),
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_MENU_WALLPAPER_OPACITY),
0.5f,
"%.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_MENU_WALLPAPER_OPACITY);
CONFIG_BOOL(
list, list_info,
&settings->menu.dynamic_wallpaper_enable,

View File

@ -284,6 +284,9 @@ enum msg_hash_enums
MSG_EXTRACTING_FILE,
MSG_NO_CONTENT_STARTING_DUMMY_CORE,
MENU_ENUM_LABEL_MENU_WALLPAPER_OPACITY,
MENU_ENUM_LABEL_VALUE_MENU_WALLPAPER_OPACITY,
MENU_ENUM_LABEL_PLAYLIST_COLLECTION_ENTRY,
MENU_ENUM_LABEL_CHEEVOS_UNLOCKED_ENTRY,
MENU_ENUM_LABEL_CHEEVOS_LOCKED_ENTRY,