From e3583cbcbb980fa06b8fa966b5f53b997c3cee70 Mon Sep 17 00:00:00 2001 From: sonninnos Date: Sat, 3 May 2025 18:54:23 +0300 Subject: [PATCH] Add common Thumbnail Background option for all menu drivers --- config.def.h | 1 + configuration.c | 1 + configuration.h | 1 + intl/msg_hash_lbl.h | 4 + intl/msg_hash_us.h | 10 ++- menu/cbs/menu_cbs_sublabel.c | 4 + menu/drivers/ozone.c | 54 ++++++++++++ menu/drivers/rgui.c | 33 ++++---- menu/drivers/xmb.c | 157 ++++++++++++++++++++++++----------- menu/menu_displaylist.c | 1 + menu/menu_setting.c | 55 +++++------- msg_hash.h | 5 +- 12 files changed, 226 insertions(+), 100 deletions(-) diff --git a/config.def.h b/config.def.h index 5f9814a532..d31f27feab 100644 --- a/config.def.h +++ b/config.def.h @@ -156,6 +156,7 @@ * > Helps to unify menu appearance when viewing * thumbnails of different sizes */ #define DEFAULT_MATERIALUI_THUMBNAIL_BACKGROUND_ENABLE true +#define DEFAULT_MENU_THUMBNAIL_BACKGROUND_ENABLE false #define DEFAULT_SCREEN_BRIGHTNESS 100 diff --git a/configuration.c b/configuration.c index 9bfb796256..cba24cabf5 100644 --- a/configuration.c +++ b/configuration.c @@ -2072,6 +2072,7 @@ static struct config_bool_setting *populate_settings_bool( SETTING_BOOL("menu_navigation_wraparound_enable", &settings->bools.menu_navigation_wraparound_enable, true, true, false); SETTING_BOOL("menu_navigation_browser_filter_supported_extensions_enable", &settings->bools.menu_navigation_browser_filter_supported_extensions_enable, true, true, false); SETTING_BOOL("menu_show_advanced_settings", &settings->bools.menu_show_advanced_settings, true, DEFAULT_SHOW_ADVANCED_SETTINGS, false); + SETTING_BOOL("menu_thumbnail_background_enable", &settings->bools.menu_thumbnail_background_enable, true, DEFAULT_MENU_THUMBNAIL_BACKGROUND_ENABLE, false); #ifdef HAVE_MATERIALUI SETTING_BOOL("materialui_icons_enable", &settings->bools.menu_materialui_icons_enable, true, DEFAULT_MATERIALUI_ICONS_ENABLE, false); SETTING_BOOL("materialui_switch_icons", &settings->bools.menu_materialui_switch_icons, true, DEFAULT_MATERIALUI_SWITCH_ICONS, false); diff --git a/configuration.h b/configuration.h index 112dcc1039..8cae2cbb1f 100644 --- a/configuration.h +++ b/configuration.h @@ -803,6 +803,7 @@ typedef struct settings bool menu_materialui_auto_rotate_nav_bar; bool menu_materialui_dual_thumbnail_list_view_enable; bool menu_materialui_thumbnail_background_enable; + bool menu_thumbnail_background_enable; bool menu_rgui_background_filler_thickness_enable; bool menu_rgui_border_filler_thickness_enable; bool menu_rgui_border_filler_enable; diff --git a/intl/msg_hash_lbl.h b/intl/msg_hash_lbl.h index 1700fcdd0c..5f081b6651 100644 --- a/intl/msg_hash_lbl.h +++ b/intl/msg_hash_lbl.h @@ -5222,6 +5222,10 @@ MSG_HASH( MENU_ENUM_LABEL_MATERIALUI_THUMBNAIL_BACKGROUND_ENABLE, "materialui_thumbnail_background_enable" ) +MSG_HASH( + MENU_ENUM_LABEL_MENU_THUMBNAIL_BACKGROUND_ENABLE, + "menu_thumbnail_background_enable" + ) MSG_HASH( MENU_ENUM_LABEL_RENAME_ENTRY, "rename_entry" diff --git a/intl/msg_hash_us.h b/intl/msg_hash_us.h index dc0713421a..eeb0168a6f 100644 --- a/intl/msg_hash_us.h +++ b/intl/msg_hash_us.h @@ -7198,6 +7198,14 @@ MSG_HASH( MENU_ENUM_SUBLABEL_MENU_THUMBNAIL_UPSCALE_THRESHOLD, "Automatically upscale thumbnail images with a width/height smaller than the specified value. Improves picture quality. Has a moderate performance impact." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_MENU_THUMBNAIL_BACKGROUND_ENABLE, + "Thumbnail Backgrounds" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_MENU_THUMBNAIL_BACKGROUND_ENABLE, + "Enables padding of unused space in thumbnail images with a solid background. This ensures a uniform display size for all images, improving menu appearance when viewing mixed content thumbnails with varying base dimensions." + ) MSG_HASH( MENU_ENUM_LABEL_VALUE_MENU_TICKER_TYPE, "Ticker Text Animation" @@ -12610,7 +12618,7 @@ MSG_HASH( ) MSG_HASH( MENU_ENUM_LABEL_VALUE_MATERIALUI_THUMBNAIL_BACKGROUND_ENABLE, - "Draw Thumbnail Backgrounds" + "Thumbnail Backgrounds" ) MSG_HASH( MENU_ENUM_SUBLABEL_MATERIALUI_THUMBNAIL_BACKGROUND_ENABLE, diff --git a/menu/cbs/menu_cbs_sublabel.c b/menu/cbs/menu_cbs_sublabel.c index 68ca698f02..4d45a099de 100644 --- a/menu/cbs/menu_cbs_sublabel.c +++ b/menu/cbs/menu_cbs_sublabel.c @@ -950,6 +950,7 @@ DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_ozone_truncate_playlist_name, DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_ozone_sort_after_truncate_playlist_name, MENU_ENUM_SUBLABEL_OZONE_SORT_AFTER_TRUNCATE_PLAYLIST_NAME) #endif DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_menu_thumbnail_upscale_threshold, MENU_ENUM_SUBLABEL_MENU_THUMBNAIL_UPSCALE_THRESHOLD) +DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_menu_thumbnail_background_enable, MENU_ENUM_SUBLABEL_MENU_THUMBNAIL_BACKGROUND_ENABLE) DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_timedate_enable, MENU_ENUM_SUBLABEL_TIMEDATE_ENABLE) DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_timedate_style, MENU_ENUM_SUBLABEL_TIMEDATE_STYLE) DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_timedate_date_separator, MENU_ENUM_SUBLABEL_TIMEDATE_DATE_SEPARATOR) @@ -2577,6 +2578,9 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs, BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_materialui_thumbnail_background_enable); #endif break; + case MENU_ENUM_LABEL_MENU_THUMBNAIL_BACKGROUND_ENABLE: + BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_menu_thumbnail_background_enable); + break; case MENU_ENUM_LABEL_SCREEN_RESOLUTION: BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_screen_resolution); break; diff --git a/menu/drivers/ozone.c b/menu/drivers/ozone.c index 61e3382806..a2d95c239e 100644 --- a/menu/drivers/ozone.c +++ b/menu/drivers/ozone.c @@ -6157,6 +6157,7 @@ static void ozone_draw_thumbnail_bar( int bottom_row_y_position = 0; bool show_right_thumbnail = false; bool show_left_thumbnail = false; + bool thumbnail_background = settings->bools.menu_thumbnail_background_enable; unsigned sidebar_height = video_height - ozone->dimensions.header_height - ozone->dimensions.sidebar_gradient_height * 2 @@ -6264,6 +6265,7 @@ static void ozone_draw_thumbnail_bar( + (int)(1.5f * (float)ozone->dimensions.sidebar_entry_icon_padding); right_thumbnail_alignment = GFX_THUMBNAIL_ALIGN_CENTRE; + show_left_thumbnail = false; if (thumbnail_height > thumbnail_width) { @@ -6326,6 +6328,32 @@ static void ozone_draw_thumbnail_bar( /* > If we have a right thumbnail, show it */ if (show_right_thumbnail) { + if (thumbnail_background) + { + float background_color[16] = { + 0.0f, 0.0f, 0.0f, 1.0f, + 0.0f, 0.0f, 0.0f, 1.0f, + 0.0f, 0.0f, 0.0f, 1.0f, + 0.0f, 0.0f, 0.0f, 1.0f, + }; + + right_thumbnail_alignment = GFX_THUMBNAIL_ALIGN_CENTRE; + + gfx_display_draw_quad( + p_disp, + userdata, + video_width, + video_height, + thumbnail_x_position, + right_thumbnail_y_position, + thumbnail_width, + thumbnail_height, + video_width, + video_height, + background_color, + NULL); + } + gfx_thumbnail_draw( userdata, video_width, @@ -6410,6 +6438,32 @@ static void ozone_draw_thumbnail_bar( left_thumbnail_alpha = 1.0f; } + if (thumbnail_background) + { + float background_color[16] = { + 0.0f, 0.0f, 0.0f, 1.0f, + 0.0f, 0.0f, 0.0f, 1.0f, + 0.0f, 0.0f, 0.0f, 1.0f, + 0.0f, 0.0f, 0.0f, 1.0f, + }; + + left_thumbnail_alignment = GFX_THUMBNAIL_ALIGN_CENTRE; + + gfx_display_draw_quad( + p_disp, + userdata, + video_width, + video_height, + thumbnail_x_position, + left_thumbnail_y_position, + thumbnail_width, + thumbnail_height, + video_width, + video_height, + background_color, + NULL); + } + /* Note: This is a NOOP when alpha is zero * (i.e. no performance impact when content * metadata override is fully active) */ diff --git a/menu/drivers/rgui.c b/menu/drivers/rgui.c index 47725717bb..034471ab2f 100644 --- a/menu/drivers/rgui.c +++ b/menu/drivers/rgui.c @@ -2827,7 +2827,8 @@ static void rgui_render_mini_thumbnail( unsigned fb_width, unsigned fb_height, size_t fb_pitch, - bool menu_rgui_swap_thumbnails) + bool swap_thumbnails, + bool thumbnail_background) { if (thumbnail->is_valid && frame_buf_data && thumbnail->data) { @@ -2848,23 +2849,24 @@ static void rgui_render_mini_thumbnail( fb_x_offset = (rgui->term_layout.start_x + term_width) - (thumbnail->width + ((thumbnail_fullwidth - thumbnail->width) >> 1)); - if ( ((thumbnail_id == GFX_THUMBNAIL_RIGHT) && !menu_rgui_swap_thumbnails) - || ((thumbnail_id == GFX_THUMBNAIL_LEFT) && menu_rgui_swap_thumbnails)) + if ( ((thumbnail_id == GFX_THUMBNAIL_RIGHT) && !swap_thumbnails) + || ((thumbnail_id == GFX_THUMBNAIL_LEFT) && swap_thumbnails)) fb_y_offset = rgui->term_layout.start_y + ((thumbnail->max_height - thumbnail->height) >> 1); else fb_y_offset = (rgui->term_layout.start_y + term_height) - (thumbnail->height + ((thumbnail->max_height - thumbnail->height) >> 1)); /* Draw background */ - rgui_fill_rect(frame_buf_data, fb_width, fb_height, - rgui->term_layout.start_x + term_width - thumbnail_fullwidth, - ( ((thumbnail_id == GFX_THUMBNAIL_RIGHT) && !menu_rgui_swap_thumbnails) - || ((thumbnail_id == GFX_THUMBNAIL_LEFT) && menu_rgui_swap_thumbnails)) - ? fb_y_offset : fb_y_offset - ((thumbnail->max_height - thumbnail->height) >> 1), - thumbnail_fullwidth, thumbnail->max_height, - rgui->colors.shadow_color, - rgui->colors.shadow_color, - false); + if (thumbnail_background) + rgui_fill_rect(frame_buf_data, fb_width, fb_height, + rgui->term_layout.start_x + term_width - thumbnail_fullwidth, + ( ((thumbnail_id == GFX_THUMBNAIL_RIGHT) && !swap_thumbnails) + || ((thumbnail_id == GFX_THUMBNAIL_LEFT) && swap_thumbnails)) + ? fb_y_offset : fb_y_offset - ((thumbnail->max_height - thumbnail->height) >> 1), + thumbnail_fullwidth, thumbnail->max_height, + rgui->colors.shadow_color, + rgui->colors.shadow_color, + false); /* Copy thumbnail to framebuffer */ for (y = 0; y < thumbnail->height; y++) @@ -5018,6 +5020,7 @@ static void rgui_render(void *data, unsigned width, unsigned height, bool rgui_inline_thumbnails = settings->bools.menu_rgui_inline_thumbnails || (rgui->flags & RGUI_FLAG_IS_QUICK_MENU); bool menu_battery_level_enable = settings->bools.menu_battery_level_enable; bool use_smooth_ticker = settings->bools.menu_ticker_smooth; + bool thumbnail_background = settings->bools.menu_thumbnail_background_enable; bool rgui_swap_thumbnails = settings->bools.menu_rgui_swap_thumbnails; bool rgui_full_width_layout = settings->bools.menu_rgui_full_width_layout; bool rgui_switch_icons = settings->bools.menu_rgui_switch_icons; @@ -5717,7 +5720,7 @@ static void rgui_render(void *data, unsigned width, unsigned height, rgui->frame_buf.data, (rgui_swap_thumbnails) ? GFX_THUMBNAIL_RIGHT : GFX_THUMBNAIL_LEFT, fb_width, fb_height, fb_pitch, - rgui_swap_thumbnails); + rgui_swap_thumbnails, thumbnail_background); } else if (show_mini_thumbnails) { @@ -5728,13 +5731,13 @@ static void rgui_render(void *data, unsigned width, unsigned height, rgui->frame_buf.data, GFX_THUMBNAIL_RIGHT, fb_width, fb_height, fb_pitch, - rgui_swap_thumbnails); + rgui_swap_thumbnails, thumbnail_background); if (show_left_thumbnail && thumbnail2) rgui_render_mini_thumbnail(rgui, thumbnail2, rgui->frame_buf.data, GFX_THUMBNAIL_LEFT, fb_width, fb_height, fb_pitch, - rgui_swap_thumbnails); + rgui_swap_thumbnails, thumbnail_background); } /* Print menu sublabel/core name (if required) */ diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index 49c3b7af2b..30be10f96f 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -7967,13 +7967,19 @@ static void xmb_frame(void *data, video_frame_info_t *video_info) } else if (xmb->fullscreen_thumbnails_available && !xmb->show_fullscreen_thumbnails) { + float background_color[16] = { + 0.0f, 0.0f, 0.0f, 1.0f, + 0.0f, 0.0f, 0.0f, 1.0f, + 0.0f, 0.0f, 0.0f, 1.0f, + 0.0f, 0.0f, 0.0f, 1.0f, + }; + bool thumbnail_background = settings->bools.menu_thumbnail_background_enable; bool show_right_thumbnail = (gfx_thumbnail_is_enabled(menu_st->thumbnail_path_data, GFX_THUMBNAIL_RIGHT)) && ( (xmb->thumbnails.right.status == GFX_THUMBNAIL_STATUS_AVAILABLE) || ( xmb->thumbnails.right.status < GFX_THUMBNAIL_STATUS_AVAILABLE && xmb->thumbnails_right_status_prev <= GFX_THUMBNAIL_STATUS_AVAILABLE && xmb->thumbnails_right_status_prev != GFX_THUMBNAIL_STATUS_UNKNOWN)); - bool show_left_thumbnail = (gfx_thumbnail_is_enabled(menu_st->thumbnail_path_data, GFX_THUMBNAIL_LEFT)) && ( (xmb->thumbnails.left.status == GFX_THUMBNAIL_STATUS_AVAILABLE) @@ -8005,41 +8011,37 @@ static void xmb_frame(void *data, video_frame_info_t *video_info) float right_thumb_y = thumb_y_base + thumb_y_offset; float left_thumb_y = thumb_y_base + thumb_height + (xmb->icon_size / 8) + thumb_y_offset; - float background_color[16] = { - 0.0f, 0.0f, 0.0f, 1.0f, - 0.0f, 0.0f, 0.0f, 1.0f, - 0.0f, 0.0f, 0.0f, 1.0f, - 0.0f, 0.0f, 0.0f, 1.0f, - }; - /* Darken background */ - gfx_display_draw_quad( - p_disp, - userdata, - video_width, - video_height, - thumb_x, - right_thumb_y, - scaled_thumb_width, - scaled_thumb_height, - video_width, - video_height, - background_color, - NULL); + if (thumbnail_background) + { + gfx_display_draw_quad( + p_disp, + userdata, + video_width, + video_height, + thumb_x, + right_thumb_y, + scaled_thumb_width, + scaled_thumb_height, + video_width, + video_height, + background_color, + NULL); - gfx_display_draw_quad( - p_disp, - userdata, - video_width, - video_height, - thumb_x, - left_thumb_y, - scaled_thumb_width, - scaled_thumb_height, - video_width, - video_height, - background_color, - NULL); + gfx_display_draw_quad( + p_disp, + userdata, + video_width, + video_height, + thumb_x, + left_thumb_y, + scaled_thumb_width, + scaled_thumb_height, + video_width, + video_height, + background_color, + NULL); + } gfx_thumbnail_draw( userdata, @@ -8076,17 +8078,31 @@ static void xmb_frame(void *data, video_frame_info_t *video_info) + ((thumb_width - scaled_thumb_width) / 2.0f); float thumb_y = xmb->margins_screen_top + (xmb->icon_size / 1.5f); + if (thumbnail_background) + gfx_display_draw_quad( + p_disp, + userdata, + video_width, + video_height, + thumb_x, + thumb_y, + scaled_thumb_width, + scaled_thumb_height, + video_width, + video_height, + background_color, + NULL); + gfx_thumbnail_draw( userdata, video_width, video_height, - show_right_thumbnail - ? &xmb->thumbnails.right : &xmb->thumbnails.left, + (show_right_thumbnail) ? &xmb->thumbnails.right : &xmb->thumbnails.left, thumb_x, thumb_y, - scaled_thumb_width > 0.0f ? (unsigned)scaled_thumb_width : 0, - scaled_thumb_height > 0.0f ? (unsigned)scaled_thumb_height : 0, - GFX_THUMBNAIL_ALIGN_TOP, + (scaled_thumb_width > 0.0f) ? (unsigned)scaled_thumb_width : 0, + (scaled_thumb_height > 0.0f) ? (unsigned)scaled_thumb_height : 0, + (thumbnail_background) ? GFX_THUMBNAIL_ALIGN_CENTRE : GFX_THUMBNAIL_ALIGN_TOP, 1.0f, 1.0f, &thumbnail_shadow); } } @@ -8103,6 +8119,21 @@ static void xmb_frame(void *data, video_frame_info_t *video_info) + ((thumb_width - scaled_thumb_width) / 2.0f); float thumb_y = xmb->margins_screen_top + (xmb->icon_size / 1.5f); + if (thumbnail_background) + gfx_display_draw_quad( + p_disp, + userdata, + video_width, + video_height, + thumb_x, + thumb_y, + scaled_thumb_width, + scaled_thumb_height, + video_width, + video_height, + background_color, + NULL); + gfx_thumbnail_draw( userdata, video_width, @@ -8112,7 +8143,7 @@ static void xmb_frame(void *data, video_frame_info_t *video_info) thumb_y, (scaled_thumb_width > 0.0f) ? (unsigned)scaled_thumb_width : 0, (scaled_thumb_height > 0.0f) ? (unsigned)scaled_thumb_height : 0, - GFX_THUMBNAIL_ALIGN_TOP, + (thumbnail_background) ? GFX_THUMBNAIL_ALIGN_CENTRE : GFX_THUMBNAIL_ALIGN_TOP, 1.0f, 1.0f, &thumbnail_shadow); } @@ -8129,6 +8160,21 @@ static void xmb_frame(void *data, video_frame_info_t *video_info) + ((thumb_width - scaled_thumb_width) / 2.0f); float thumb_y = xmb->margins_screen_top + xmb->icon_size + y_offset; + if (thumbnail_background) + gfx_display_draw_quad( + p_disp, + userdata, + video_width, + video_height, + thumb_x, + thumb_y, + scaled_thumb_width, + scaled_thumb_height, + video_width, + video_height, + background_color, + NULL); + gfx_thumbnail_draw( userdata, video_width, @@ -8136,9 +8182,9 @@ static void xmb_frame(void *data, video_frame_info_t *video_info) &xmb->thumbnails.left, thumb_x, thumb_y, - scaled_thumb_width > 0.0f ? (unsigned)scaled_thumb_width : 0, - scaled_thumb_height > 0.0f ? (unsigned)scaled_thumb_height : 0, - GFX_THUMBNAIL_ALIGN_TOP, + (scaled_thumb_width > 0.0f) ? (unsigned)scaled_thumb_width : 0, + (scaled_thumb_height > 0.0f) ? (unsigned)scaled_thumb_height : 0, + (thumbnail_background) ? GFX_THUMBNAIL_ALIGN_CENTRE : GFX_THUMBNAIL_ALIGN_TOP, 1.0f, 1.0f, &thumbnail_shadow); } } @@ -8162,17 +8208,34 @@ static void xmb_frame(void *data, video_frame_info_t *video_info) /* Very small thumbnails look ridiculous * > Impose a minimum size limit */ if (thumb_height > xmb->icon_size) + { + if (thumbnail_background) + gfx_display_draw_quad( + p_disp, + userdata, + video_width, + video_height, + thumb_x, + thumb_y, + scaled_thumb_width, + scaled_thumb_height, + video_width, + video_height, + background_color, + NULL); + gfx_thumbnail_draw( userdata, video_width, video_height, - show_left_thumbnail ? &xmb->thumbnails.left : &xmb->thumbnails.right, + (show_left_thumbnail) ? &xmb->thumbnails.left : &xmb->thumbnails.right, thumb_x, thumb_y, - scaled_thumb_width > 0.0f ? (unsigned)scaled_thumb_width : 0, - scaled_thumb_height > 0.0f ? (unsigned)scaled_thumb_height : 0, - GFX_THUMBNAIL_ALIGN_TOP, + (scaled_thumb_width > 0.0f) ? (unsigned)scaled_thumb_width : 0, + (scaled_thumb_height > 0.0f) ? (unsigned)scaled_thumb_height : 0, + (thumbnail_background) ? GFX_THUMBNAIL_ALIGN_CENTRE : GFX_THUMBNAIL_ALIGN_TOP, 1.0f, 1.0f, &thumbnail_shadow); + } } } diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 7f29cdfaf8..9876fe0f68 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -11641,6 +11641,7 @@ unsigned menu_displaylist_build_list( {MENU_ENUM_LABEL_MENU_RGUI_SWAP_THUMBNAILS, PARSE_ONLY_BOOL, true}, {MENU_ENUM_LABEL_MENU_RGUI_THUMBNAIL_DOWNSCALER, PARSE_ONLY_UINT, true}, {MENU_ENUM_LABEL_MENU_RGUI_THUMBNAIL_DELAY, PARSE_ONLY_UINT, true}, + {MENU_ENUM_LABEL_MENU_THUMBNAIL_BACKGROUND_ENABLE, PARSE_ONLY_BOOL, true}, {MENU_ENUM_LABEL_XMB_FONT, PARSE_ONLY_PATH, true}, {MENU_ENUM_LABEL_MENU_FONT_COLOR_RED, PARSE_ONLY_UINT, true}, {MENU_ENUM_LABEL_MENU_FONT_COLOR_GREEN, PARSE_ONLY_UINT, true}, diff --git a/menu/menu_setting.c b/menu/menu_setting.c index 4d9a5b857f..b8953eab9d 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -19670,41 +19670,6 @@ static bool setting_append_list( general_write_handler, general_read_handler, SD_FLAG_NONE); - - /* TODO: These should be removed entirely, but just - * comment out for now in case users complain... - CONFIG_FLOAT( - list, list_info, - &settings->floats.menu_header_opacity, - MENU_ENUM_LABEL_MATERIALUI_MENU_HEADER_OPACITY, - MENU_ENUM_LABEL_VALUE_MATERIALUI_MENU_HEADER_OPACITY, - DEFAULT_MENU_HEADER_OPACITY, - "%.3f", - &group_info, - &subgroup_info, - parent_group, - general_write_handler, - general_read_handler); - (*list)[list_info->index - 1].action_ok = &setting_action_ok_uint; - menu_settings_list_current_add_range(list, list_info, 0.0, 1.0, 0.010, true, true); - - CONFIG_FLOAT( - list, list_info, - &settings->floats.menu_footer_opacity, - MENU_ENUM_LABEL_MATERIALUI_MENU_FOOTER_OPACITY, - MENU_ENUM_LABEL_VALUE_MATERIALUI_MENU_FOOTER_OPACITY, - DEFAULT_MENU_FOOTER_OPACITY, - "%.3f", - &group_info, - &subgroup_info, - parent_group, - general_write_handler, - general_read_handler); - (*list)[list_info->index - 1].action_ok = &setting_action_ok_uint; - menu_settings_list_current_add_range(list, list_info, 0.0, 1.0, 0.010, true, true); - (*list)[list_info->index - 1].ui_type - = ST_UI_TYPE_FLOAT_SLIDER_AND_SPINBOX; - */ } #endif @@ -19823,6 +19788,26 @@ static bool setting_append_list( SD_FLAG_NONE); } + if ( string_is_equal(settings->arrays.menu_driver, "xmb") + || string_is_equal(settings->arrays.menu_driver, "ozone") + || string_is_equal(settings->arrays.menu_driver, "rgui")) + { + CONFIG_BOOL( + list, list_info, + &settings->bools.menu_thumbnail_background_enable, + MENU_ENUM_LABEL_MENU_THUMBNAIL_BACKGROUND_ENABLE, + MENU_ENUM_LABEL_VALUE_MENU_THUMBNAIL_BACKGROUND_ENABLE, + DEFAULT_MENU_THUMBNAIL_BACKGROUND_ENABLE, + 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); + } + if ( string_is_equal(settings->arrays.menu_driver, "xmb") || string_is_equal(settings->arrays.menu_driver, "ozone") || string_is_equal(settings->arrays.menu_driver, "rgui") diff --git a/msg_hash.h b/msg_hash.h index 732f8d5f82..6273a1c125 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -781,8 +781,8 @@ enum msg_hash_enums MENU_LABEL(VIDEO_SHADERS_ENABLE), - MENU_LABEL(MATERIALUI_MENU_HEADER_OPACITY), - MENU_LABEL(MATERIALUI_MENU_FOOTER_OPACITY), + MENU_LABEL(MATERIALUI_MENU_HEADER_OPACITY), /* Deprecated */ + MENU_LABEL(MATERIALUI_MENU_FOOTER_OPACITY), /* Deprecated */ MENU_ENUM_LABEL_VALUE_MATERIALUI_MENU_COLOR_THEME_BLUE, MENU_ENUM_LABEL_VALUE_MATERIALUI_MENU_COLOR_THEME_BLUE_GREY, MENU_ENUM_LABEL_VALUE_MATERIALUI_MENU_COLOR_THEME_RED, @@ -1658,6 +1658,7 @@ enum msg_hash_enums MENU_LABEL(MENU_XMB_TITLE_MARGIN), MENU_LABEL(MENU_XMB_TITLE_MARGIN_HORIZONTAL_OFFSET), MENU_LABEL(MENU_THUMBNAIL_UPSCALE_THRESHOLD), + MENU_LABEL(MENU_THUMBNAIL_BACKGROUND_ENABLE), MENU_LABEL(MENU_RGUI_INLINE_THUMBNAILS), MENU_LABEL(MENU_RGUI_SWAP_THUMBNAILS), MENU_LABEL(MENU_RGUI_THUMBNAIL_DOWNSCALER),