mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 22:20:21 +00:00
Ozone: Add thumbnail scale option (#13620)
* Ozone: Add thumbnail scale option * CHANGES.md: Add ozone thumbnail bar scaling option
This commit is contained in:
parent
b4d9d6c5fc
commit
d9bc8fb796
@ -2,6 +2,7 @@
|
||||
- IOS/IOS13+: Support a toolbar that allows toggling of onscreen keyboard and touch mouse
|
||||
- LOCALIZATION: Add Czech language support
|
||||
- HOTKEYS: Added hotkey for toggling sync to exact content framerate
|
||||
- OZONE: The size of the thumbnail bar can now be changed though a new option (Settings->User interface->Appearance) up to double its normal size.
|
||||
|
||||
# 1.10.1
|
||||
- ANDROID: Add `HAVE_LANGEXTRA` back to makefile
|
||||
|
@ -558,6 +558,7 @@
|
||||
#define DEFAULT_OZONE_TRUNCATE_PLAYLIST_NAME true
|
||||
#define DEFAULT_OZONE_SORT_AFTER_TRUNCATE_PLAYLIST_NAME true
|
||||
#define DEFAULT_OZONE_SCROLL_CONTENT_METADATA false
|
||||
#define DEFAULT_OZONE_THUMBNAIL_SCALE_FACTOR 1.0f
|
||||
#endif
|
||||
|
||||
#define DEFAULT_SETTINGS_SHOW_DRIVERS true
|
||||
|
@ -2071,6 +2071,9 @@ static struct config_float_setting *populate_settings_float(
|
||||
#if defined(HAVE_MATERIALUI) || defined(HAVE_XMB) || defined(HAVE_OZONE)
|
||||
SETTING_FLOAT("menu_screensaver_animation_speed", &settings->floats.menu_screensaver_animation_speed, true, DEFAULT_MENU_SCREENSAVER_ANIMATION_SPEED, false);
|
||||
#endif
|
||||
#ifdef HAVE_OZONE
|
||||
SETTING_FLOAT("ozone_thumbnail_scale_factor", &settings->floats.ozone_thumbnail_scale_factor, true, DEFAULT_OZONE_THUMBNAIL_SCALE_FACTOR, false);
|
||||
#endif
|
||||
#endif
|
||||
SETTING_FLOAT("video_message_pos_x", &settings->floats.video_msg_pos_x, true, message_pos_offset_x, false);
|
||||
SETTING_FLOAT("video_message_pos_y", &settings->floats.video_msg_pos_y, true, message_pos_offset_y, false);
|
||||
|
@ -369,6 +369,7 @@ typedef struct settings
|
||||
float menu_ticker_speed;
|
||||
float menu_rgui_particle_effect_speed;
|
||||
float menu_screensaver_animation_speed;
|
||||
float ozone_thumbnail_scale_factor;
|
||||
|
||||
float audio_max_timing_skew;
|
||||
float audio_volume; /* dB scale. */
|
||||
|
@ -1886,6 +1886,10 @@ MSG_HASH(
|
||||
MENU_ENUM_LABEL_OZONE_SCROLL_CONTENT_METADATA,
|
||||
"ozone_scroll_content_metadata"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_OZONE_THUMBNAIL_SCALE_FACTOR,
|
||||
"ozone_menu_thumbnail_scale_factor"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_MATERIALUI_MENU_COLOR_THEME,
|
||||
"materialui_menu_color_theme"
|
||||
|
@ -9564,6 +9564,14 @@ MSG_HASH(
|
||||
MENU_ENUM_SUBLABEL_OZONE_SCROLL_CONTENT_METADATA,
|
||||
"When enabled, each item of content metadata shown on the right sidebar of playlists (associated core, play time) will occupy a single line; strings exceeding the width of the sidebar will be displayed as scrolling ticker text. When disabled, each item of content metadata will be displayed statically, wrapped to occupy as many lines as required."
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_OZONE_THUMBNAIL_SCALE_FACTOR,
|
||||
"Thumbnail Scale Factor"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_SUBLABEL_OZONE_THUMBNAIL_SCALE_FACTOR,
|
||||
"Scale the size of the thumbnail bar."
|
||||
)
|
||||
|
||||
/* MaterialUI: Settings > User Interface > Appearance */
|
||||
|
||||
|
@ -762,6 +762,7 @@ DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_ozone_collapse_sidebar,
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_ozone_truncate_playlist_name, MENU_ENUM_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)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_ozone_scroll_content_metadata, MENU_ENUM_SUBLABEL_OZONE_SCROLL_CONTENT_METADATA)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_ozone_thumbnail_scale_factor, MENU_ENUM_SUBLABEL_OZONE_THUMBNAIL_SCALE_FACTOR)
|
||||
#endif
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_menu_thumbnail_upscale_threshold, MENU_ENUM_SUBLABEL_MENU_THUMBNAIL_UPSCALE_THRESHOLD)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_timedate_enable, MENU_ENUM_SUBLABEL_TIMEDATE_ENABLE)
|
||||
@ -2766,6 +2767,11 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
|
||||
case MENU_ENUM_LABEL_OZONE_SCROLL_CONTENT_METADATA:
|
||||
#ifdef HAVE_OZONE
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_ozone_scroll_content_metadata);
|
||||
#endif
|
||||
break;
|
||||
case MENU_ENUM_LABEL_OZONE_THUMBNAIL_SCALE_FACTOR:
|
||||
#ifdef HAVE_OZONE
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_ozone_thumbnail_scale_factor);
|
||||
#endif
|
||||
break;
|
||||
case MENU_ENUM_LABEL_MATERIALUI_MENU_COLOR_THEME:
|
||||
|
@ -499,6 +499,7 @@ struct ozone_handle
|
||||
float dimensions_sidebar_width; /* animated field */
|
||||
float sidebar_offset;
|
||||
float last_scale_factor;
|
||||
float last_thumbnail_scale_factor;
|
||||
float pure_white[16];
|
||||
|
||||
struct
|
||||
@ -7066,6 +7067,7 @@ static void *ozone_init(void **userdata, bool video_is_threaded)
|
||||
ozone->last_height = height;
|
||||
ozone->last_scale_factor = gfx_display_get_dpi_scale(p_disp,
|
||||
settings, width, height, false, false);
|
||||
ozone->last_thumbnail_scale_factor = settings->floats.ozone_thumbnail_scale_factor;
|
||||
|
||||
file_list_initialize(&ozone->selection_buf_old);
|
||||
|
||||
@ -7493,9 +7495,13 @@ static void ozone_set_layout(
|
||||
ozone->dimensions_sidebar_width = (float)ozone->dimensions.sidebar_width_normal;
|
||||
|
||||
ozone->dimensions.thumbnail_bar_width =
|
||||
ozone->dimensions.sidebar_width_normal -
|
||||
ozone->dimensions.sidebar_entry_icon_size -
|
||||
ozone->dimensions.sidebar_entry_icon_padding;
|
||||
(ozone->dimensions.sidebar_width_normal -
|
||||
ozone->dimensions.sidebar_entry_icon_size -
|
||||
ozone->dimensions.sidebar_entry_icon_padding) *
|
||||
ozone->last_thumbnail_scale_factor;
|
||||
/* Prevent the thumbnail sidebar from growing too much and make the UI unusable. */
|
||||
if (ozone->dimensions.thumbnail_bar_width > ozone->last_width / 2.0f)
|
||||
ozone->dimensions.thumbnail_bar_width = ozone->last_width / 2.0f;
|
||||
|
||||
ozone->dimensions.cursor_size = CURSOR_SIZE * scale_factor;
|
||||
|
||||
@ -8146,6 +8152,7 @@ static void ozone_render(void *data,
|
||||
* disables optimisations and removes excess precision
|
||||
* (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=323#c87) */
|
||||
volatile float scale_factor;
|
||||
volatile float thumbnail_scale_factor;
|
||||
unsigned entries_end = (unsigned)menu_entries_get_size();
|
||||
bool pointer_enabled = false;
|
||||
unsigned language = *msg_hash_get_uint(MSG_HASH_USER_LANGUAGE);
|
||||
@ -8160,12 +8167,15 @@ static void ozone_render(void *data,
|
||||
* factor have changed */
|
||||
scale_factor = gfx_display_get_dpi_scale(p_disp, settings,
|
||||
width, height, false, false);
|
||||
thumbnail_scale_factor = settings->floats.ozone_thumbnail_scale_factor;
|
||||
|
||||
if ((scale_factor != ozone->last_scale_factor) ||
|
||||
(thumbnail_scale_factor != ozone->last_thumbnail_scale_factor) ||
|
||||
(width != ozone->last_width) ||
|
||||
(height != ozone->last_height))
|
||||
{
|
||||
ozone->last_scale_factor = scale_factor;
|
||||
ozone->last_thumbnail_scale_factor = thumbnail_scale_factor;
|
||||
ozone->last_width = width;
|
||||
ozone->last_height = height;
|
||||
|
||||
|
@ -9760,6 +9760,7 @@ unsigned menu_displaylist_build_list(
|
||||
{MENU_ENUM_LABEL_MATERIALUI_MENU_FOOTER_OPACITY, PARSE_ONLY_FLOAT, true},
|
||||
{MENU_ENUM_LABEL_MENU_USE_PREFERRED_SYSTEM_COLOR_THEME, PARSE_ONLY_BOOL, true},
|
||||
{MENU_ENUM_LABEL_OZONE_MENU_COLOR_THEME, PARSE_ONLY_UINT, false},
|
||||
{MENU_ENUM_LABEL_OZONE_THUMBNAIL_SCALE_FACTOR, PARSE_ONLY_FLOAT, true},
|
||||
{MENU_ENUM_LABEL_MENU_RGUI_INLINE_THUMBNAILS, PARSE_ONLY_BOOL, true},
|
||||
{MENU_ENUM_LABEL_MATERIALUI_MENU_THUMBNAIL_VIEW_PORTRAIT, PARSE_ONLY_UINT, true},
|
||||
{MENU_ENUM_LABEL_MATERIALUI_MENU_THUMBNAIL_VIEW_LANDSCAPE, PARSE_ONLY_UINT, true},
|
||||
|
@ -17077,6 +17077,21 @@ static bool setting_append_list(
|
||||
general_write_handler,
|
||||
general_read_handler,
|
||||
SD_FLAG_NONE);
|
||||
|
||||
CONFIG_FLOAT(
|
||||
list, list_info,
|
||||
&settings->floats.ozone_thumbnail_scale_factor,
|
||||
MENU_ENUM_LABEL_OZONE_THUMBNAIL_SCALE_FACTOR,
|
||||
MENU_ENUM_LABEL_VALUE_OZONE_THUMBNAIL_SCALE_FACTOR,
|
||||
DEFAULT_OZONE_THUMBNAIL_SCALE_FACTOR,
|
||||
"%.2fx",
|
||||
&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, 1.0, 2.0, 0.05, true, true);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -1268,6 +1268,7 @@ enum msg_hash_enums
|
||||
MENU_LABEL(OZONE_TRUNCATE_PLAYLIST_NAME),
|
||||
MENU_LABEL(OZONE_SORT_AFTER_TRUNCATE_PLAYLIST_NAME),
|
||||
MENU_LABEL(OZONE_SCROLL_CONTENT_METADATA),
|
||||
MENU_LABEL(OZONE_THUMBNAIL_SCALE_FACTOR),
|
||||
MENU_LABEL(MATERIALUI_MENU_COLOR_THEME),
|
||||
MENU_LABEL(QUICK_MENU_OVERRIDE_OPTIONS),
|
||||
MENU_LABEL(SETTINGS_SHOW_DRIVERS),
|
||||
|
Loading…
x
Reference in New Issue
Block a user