mirror of
https://github.com/libretro/RetroArch
synced 2025-04-07 13:23:32 +00:00
(Ozone/MaterialUI) Settings cleanups
This commit is contained in:
parent
3b207990ce
commit
976b659e2b
@ -1786,91 +1786,95 @@ static void materialui_draw_thumbnail(
|
|||||||
bg_y = y - (bg_height - (float)mui->thumbnail_height_max) / 2.0f;
|
bg_y = y - (bg_height - (float)mui->thumbnail_height_max) / 2.0f;
|
||||||
|
|
||||||
/* If thumbnail is missing, draw fallback image... */
|
/* If thumbnail is missing, draw fallback image... */
|
||||||
if (thumbnail->status == GFX_THUMBNAIL_STATUS_MISSING)
|
switch (thumbnail->status)
|
||||||
{
|
{
|
||||||
float icon_size;
|
case GFX_THUMBNAIL_STATUS_MISSING:
|
||||||
|
{
|
||||||
|
float icon_size = (float)mui->icon_size;
|
||||||
|
|
||||||
/* Adjust icon size based on scale factor */
|
/* Adjust icon size based on scale factor */
|
||||||
if (scale_factor >= 1.0f)
|
if (scale_factor < 1.0f)
|
||||||
icon_size = (float)mui->icon_size;
|
icon_size *= scale_factor;
|
||||||
else
|
|
||||||
icon_size = (float)mui->icon_size * scale_factor;
|
|
||||||
|
|
||||||
/* Background */
|
/* Background */
|
||||||
gfx_display_set_alpha(
|
gfx_display_set_alpha(
|
||||||
mui->colors.thumbnail_background,
|
mui->colors.thumbnail_background,
|
||||||
mui->transition_alpha);
|
mui->transition_alpha);
|
||||||
|
|
||||||
gfx_display_draw_quad(
|
gfx_display_draw_quad(
|
||||||
video_info,
|
video_info,
|
||||||
bg_x,
|
bg_x,
|
||||||
bg_y,
|
bg_y,
|
||||||
(unsigned)bg_width,
|
(unsigned)bg_width,
|
||||||
(unsigned)bg_height,
|
(unsigned)bg_height,
|
||||||
width,
|
width,
|
||||||
height,
|
height,
|
||||||
mui->colors.thumbnail_background);
|
mui->colors.thumbnail_background);
|
||||||
|
|
||||||
/* Icon */
|
/* Icon */
|
||||||
materialui_draw_icon(video_info,
|
materialui_draw_icon(video_info,
|
||||||
(unsigned)icon_size,
|
(unsigned)icon_size,
|
||||||
mui->textures.list[MUI_TEXTURE_IMAGE],
|
mui->textures.list[MUI_TEXTURE_IMAGE],
|
||||||
bg_x + (bg_width - icon_size) / 2.0f,
|
bg_x + (bg_width - icon_size) / 2.0f,
|
||||||
bg_y + (bg_height - icon_size) / 2.0f,
|
bg_y + (bg_height - icon_size) / 2.0f,
|
||||||
width,
|
width,
|
||||||
height,
|
height,
|
||||||
0.0f,
|
0.0f,
|
||||||
1.0f,
|
1.0f,
|
||||||
mui->colors.missing_thumbnail_icon);
|
mui->colors.missing_thumbnail_icon);
|
||||||
}
|
}
|
||||||
/* If thumbnail is available, draw it
|
break;
|
||||||
* > Note that other conditions are ignored - i.e. we
|
case GFX_THUMBNAIL_STATUS_AVAILABLE:
|
||||||
* we draw nothing if thumbnail status is unknown,
|
/* If thumbnail is available, draw it
|
||||||
* or we are waiting for a thumbnail to load) */
|
* > Note that other conditions are ignored - i.e. we
|
||||||
else if (thumbnail->status == GFX_THUMBNAIL_STATUS_AVAILABLE)
|
* we draw nothing if thumbnail status is unknown,
|
||||||
{
|
* or we are waiting for a thumbnail to load) */
|
||||||
settings_t *settings = config_get_ptr();
|
{
|
||||||
|
settings_t *settings = config_get_ptr();
|
||||||
|
|
||||||
if (!settings)
|
/* Background */
|
||||||
return;
|
if (settings &&
|
||||||
|
settings->bools.menu_materialui_thumbnail_background_enable)
|
||||||
|
{
|
||||||
|
/* > If enabled by the user, we draw a background here
|
||||||
|
* to ensure a uniform visual appearance regardless
|
||||||
|
* of thumbnail size
|
||||||
|
* NOTE: Have to round up and add 1 to height,
|
||||||
|
* otherwise background and thumbnail have obvious
|
||||||
|
* misalignment (due to various rounding errors...) */
|
||||||
|
|
||||||
/* Background */
|
/* > Set background alpha
|
||||||
if (settings->bools.menu_materialui_thumbnail_background_enable)
|
* - Can't do this in materialui_colors_set_transition_alpha()
|
||||||
{
|
* because it's dependent upon thumbnail opacity
|
||||||
/* > If enabled by the user, we draw a background here
|
* - No need to restore the original alpha value, since it is
|
||||||
* to ensure a uniform visual appearance regardless
|
* always set 'manually' before use */
|
||||||
* of thumbnail size
|
gfx_display_set_alpha(
|
||||||
* NOTE: Have to round up and add 1 to height,
|
mui->colors.thumbnail_background,
|
||||||
* otherwise background and thumbnail have obvious
|
mui->transition_alpha * thumbnail->alpha);
|
||||||
* misalignment (due to various rounding errors...) */
|
|
||||||
|
|
||||||
/* > Set background alpha
|
/* > Draw background quad */
|
||||||
* - Can't do this in materialui_colors_set_transition_alpha()
|
gfx_display_draw_quad(
|
||||||
* because it's dependent upon thumbnail opacity
|
video_info,
|
||||||
* - No need to restore the original alpha value, since it is
|
(int)bg_x,
|
||||||
* always set 'manually' before use */
|
(int)bg_y,
|
||||||
gfx_display_set_alpha(
|
(unsigned)(bg_width + 0.5f),
|
||||||
mui->colors.thumbnail_background,
|
(unsigned)(bg_height + 1.5f),
|
||||||
mui->transition_alpha * thumbnail->alpha);
|
width,
|
||||||
|
height,
|
||||||
|
mui->colors.thumbnail_background);
|
||||||
|
}
|
||||||
|
|
||||||
/* > Draw background quad */
|
/* Thumbnail */
|
||||||
gfx_display_draw_quad(
|
gfx_thumbnail_draw(
|
||||||
video_info,
|
video_info, thumbnail,
|
||||||
(int)bg_x,
|
x, y, mui->thumbnail_width_max, mui->thumbnail_height_max,
|
||||||
(int)bg_y,
|
GFX_THUMBNAIL_ALIGN_CENTRE,
|
||||||
(unsigned)(bg_width + 0.5f),
|
mui->transition_alpha, scale_factor, NULL);
|
||||||
(unsigned)(bg_height + 1.5f),
|
}
|
||||||
width,
|
break;
|
||||||
height,
|
case GFX_THUMBNAIL_STATUS_UNKNOWN:
|
||||||
mui->colors.thumbnail_background);
|
default:
|
||||||
}
|
break;
|
||||||
|
|
||||||
/* Thumbnail */
|
|
||||||
gfx_thumbnail_draw(
|
|
||||||
video_info, thumbnail,
|
|
||||||
x, y, mui->thumbnail_width_max, mui->thumbnail_height_max,
|
|
||||||
GFX_THUMBNAIL_ALIGN_CENTRE,
|
|
||||||
mui->transition_alpha, scale_factor, NULL);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2289,8 +2293,15 @@ static void materialui_render(void *data,
|
|||||||
file_list_t *list = menu_entries_get_selection_buf_ptr(0);
|
file_list_t *list = menu_entries_get_selection_buf_ptr(0);
|
||||||
bool first_entry_found = false;
|
bool first_entry_found = false;
|
||||||
bool last_entry_found = false;
|
bool last_entry_found = false;
|
||||||
|
unsigned landscape_layout_optimization
|
||||||
|
= settings->uints.menu_materialui_landscape_layout_optimization;
|
||||||
|
bool auto_rotate_nav_bar = settings->bools.menu_materialui_auto_rotate_nav_bar;
|
||||||
|
unsigned thumbnail_upscale_threshold =
|
||||||
|
settings->uints.gfx_thumbnail_upscale_threshold;
|
||||||
|
bool network_on_demand_thumbnails =
|
||||||
|
settings->bools.network_on_demand_thumbnails;
|
||||||
|
|
||||||
if (!settings || !mui || !list)
|
if (!mui || !list)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* Check whether screen dimensions, menu scale
|
/* Check whether screen dimensions, menu scale
|
||||||
@ -2301,9 +2312,9 @@ static void materialui_render(void *data,
|
|||||||
(width != mui->last_width) ||
|
(width != mui->last_width) ||
|
||||||
(height != mui->last_height) ||
|
(height != mui->last_height) ||
|
||||||
((enum materialui_landscape_layout_optimization_type)
|
((enum materialui_landscape_layout_optimization_type)
|
||||||
settings->uints.menu_materialui_landscape_layout_optimization !=
|
landscape_layout_optimization !=
|
||||||
mui->last_landscape_layout_optimization) ||
|
mui->last_landscape_layout_optimization) ||
|
||||||
(settings->bools.menu_materialui_auto_rotate_nav_bar != mui->last_auto_rotate_nav_bar))
|
(auto_rotate_nav_bar != mui->last_auto_rotate_nav_bar))
|
||||||
{
|
{
|
||||||
mui->dip_base_unit_size = scale_factor * MUI_DIP_BASE_UNIT_SIZE;
|
mui->dip_base_unit_size = scale_factor * MUI_DIP_BASE_UNIT_SIZE;
|
||||||
mui->last_scale_factor = scale_factor;
|
mui->last_scale_factor = scale_factor;
|
||||||
@ -2311,8 +2322,8 @@ static void materialui_render(void *data,
|
|||||||
mui->last_height = height;
|
mui->last_height = height;
|
||||||
mui->last_landscape_layout_optimization =
|
mui->last_landscape_layout_optimization =
|
||||||
(enum materialui_landscape_layout_optimization_type)
|
(enum materialui_landscape_layout_optimization_type)
|
||||||
settings->uints.menu_materialui_landscape_layout_optimization;
|
landscape_layout_optimization;
|
||||||
mui->last_auto_rotate_nav_bar = settings->bools.menu_materialui_auto_rotate_nav_bar;
|
mui->last_auto_rotate_nav_bar = auto_rotate_nav_bar;
|
||||||
|
|
||||||
/* Screen dimensions/layout are going to change
|
/* Screen dimensions/layout are going to change
|
||||||
* > Once this happens, menu will scroll to the
|
* > Once this happens, menu will scroll to the
|
||||||
@ -2509,10 +2520,6 @@ static void materialui_render(void *data,
|
|||||||
{
|
{
|
||||||
bool on_screen =
|
bool on_screen =
|
||||||
first_entry_found && !last_entry_found;
|
first_entry_found && !last_entry_found;
|
||||||
unsigned thumbnail_upscale_threshold =
|
|
||||||
settings->uints.gfx_thumbnail_upscale_threshold;
|
|
||||||
bool network_on_demand_thumbnails =
|
|
||||||
settings->bools.network_on_demand_thumbnails;
|
|
||||||
|
|
||||||
if (mui->secondary_thumbnail_enabled)
|
if (mui->secondary_thumbnail_enabled)
|
||||||
gfx_thumbnail_process_streams(
|
gfx_thumbnail_process_streams(
|
||||||
@ -3688,6 +3695,7 @@ static void materialui_render_entry_touch_feedback(
|
|||||||
static void materialui_render_header(
|
static void materialui_render_header(
|
||||||
materialui_handle_t *mui, video_frame_info_t *video_info, unsigned width, unsigned height)
|
materialui_handle_t *mui, video_frame_info_t *video_info, unsigned width, unsigned height)
|
||||||
{
|
{
|
||||||
|
char menu_title_buf[255];
|
||||||
settings_t *settings = config_get_ptr();
|
settings_t *settings = config_get_ptr();
|
||||||
size_t menu_title_margin = 0;
|
size_t menu_title_margin = 0;
|
||||||
int usable_sys_bar_width = (int)width - (int)mui->nav_bar_layout_width;
|
int usable_sys_bar_width = (int)width - (int)mui->nav_bar_layout_width;
|
||||||
@ -3702,13 +3710,13 @@ static void materialui_render_header(
|
|||||||
bool use_landscape_layout = !mui->is_portrait &&
|
bool use_landscape_layout = !mui->is_portrait &&
|
||||||
(mui->last_landscape_layout_optimization != MATERIALUI_LANDSCAPE_LAYOUT_OPTIMIZATION_DISABLED);
|
(mui->last_landscape_layout_optimization != MATERIALUI_LANDSCAPE_LAYOUT_OPTIMIZATION_DISABLED);
|
||||||
const char *menu_title = mui->menu_title;
|
const char *menu_title = mui->menu_title;
|
||||||
char menu_title_buf[255];
|
bool battery_level_enable = settings->bools.menu_battery_level_enable;
|
||||||
|
bool menu_timedate_enable = settings->bools.menu_timedate_enable;
|
||||||
|
unsigned menu_timedate_style = settings->uints.menu_timedate_style;
|
||||||
|
bool menu_core_enable = settings->bools.menu_core_enable;
|
||||||
|
|
||||||
menu_title_buf[0] = '\0';
|
menu_title_buf[0] = '\0';
|
||||||
|
|
||||||
if (!settings)
|
|
||||||
return;
|
|
||||||
|
|
||||||
/* Draw background quads
|
/* Draw background quads
|
||||||
* > Title bar is underneath system bar
|
* > Title bar is underneath system bar
|
||||||
* > Shadow is underneath title bar */
|
* > Shadow is underneath title bar */
|
||||||
@ -3749,7 +3757,7 @@ static void materialui_render_header(
|
|||||||
/* System bar items */
|
/* System bar items */
|
||||||
|
|
||||||
/* > Draw battery indicator (if required) */
|
/* > Draw battery indicator (if required) */
|
||||||
if (settings->bools.menu_battery_level_enable)
|
if (battery_level_enable)
|
||||||
{
|
{
|
||||||
gfx_display_ctx_powerstate_t powerstate;
|
gfx_display_ctx_powerstate_t powerstate;
|
||||||
char percent_str[MUI_BATTERY_PERCENT_MAX_LENGTH];
|
char percent_str[MUI_BATTERY_PERCENT_MAX_LENGTH];
|
||||||
@ -3766,14 +3774,16 @@ static void materialui_render_header(
|
|||||||
/* Need to determine pixel width of percent string
|
/* Need to determine pixel width of percent string
|
||||||
* > This is somewhat expensive, so utilise a cache
|
* > This is somewhat expensive, so utilise a cache
|
||||||
* and only update when the string actually changes */
|
* and only update when the string actually changes */
|
||||||
if (!string_is_equal(percent_str, mui->sys_bar_cache.battery_percent_str))
|
if (!string_is_equal(percent_str,
|
||||||
|
mui->sys_bar_cache.battery_percent_str))
|
||||||
{
|
{
|
||||||
/* Cache new string */
|
/* Cache new string */
|
||||||
strlcpy(mui->sys_bar_cache.battery_percent_str, percent_str,
|
strlcpy(mui->sys_bar_cache.battery_percent_str, percent_str,
|
||||||
MUI_BATTERY_PERCENT_MAX_LENGTH * sizeof(char));
|
MUI_BATTERY_PERCENT_MAX_LENGTH * sizeof(char));
|
||||||
|
|
||||||
/* Cache width */
|
/* Cache width */
|
||||||
mui->sys_bar_cache.battery_percent_width = font_driver_get_message_width(
|
mui->sys_bar_cache.battery_percent_width =
|
||||||
|
font_driver_get_message_width(
|
||||||
mui->font_data.hint.font,
|
mui->font_data.hint.font,
|
||||||
mui->sys_bar_cache.battery_percent_str,
|
mui->sys_bar_cache.battery_percent_str,
|
||||||
(unsigned)strlen(mui->sys_bar_cache.battery_percent_str),
|
(unsigned)strlen(mui->sys_bar_cache.battery_percent_str),
|
||||||
@ -3784,7 +3794,8 @@ static void materialui_render_header(
|
|||||||
{
|
{
|
||||||
/* Set critical by default, to ensure texture_battery
|
/* Set critical by default, to ensure texture_battery
|
||||||
* is always valid */
|
* is always valid */
|
||||||
uintptr_t texture_battery = mui->textures.list[MUI_TEXTURE_BATTERY_CRITICAL];
|
uintptr_t texture_battery =
|
||||||
|
mui->textures.list[MUI_TEXTURE_BATTERY_CRITICAL];
|
||||||
|
|
||||||
/* Draw battery icon */
|
/* Draw battery icon */
|
||||||
if (powerstate.charging)
|
if (powerstate.charging)
|
||||||
@ -3810,8 +3821,11 @@ static void materialui_render_header(
|
|||||||
materialui_draw_icon(video_info,
|
materialui_draw_icon(video_info,
|
||||||
mui->sys_bar_icon_size,
|
mui->sys_bar_icon_size,
|
||||||
(uintptr_t)texture_battery,
|
(uintptr_t)texture_battery,
|
||||||
(int)width - ((int)mui->sys_bar_cache.battery_percent_width +
|
(int)width - (
|
||||||
(int)mui->sys_bar_margin + (int)mui->sys_bar_icon_size + (int)mui->nav_bar_layout_width),
|
(int)mui->sys_bar_cache.battery_percent_width +
|
||||||
|
(int)mui->sys_bar_margin +
|
||||||
|
(int)mui->sys_bar_icon_size +
|
||||||
|
(int)mui->nav_bar_layout_width),
|
||||||
0,
|
0,
|
||||||
width,
|
width,
|
||||||
height,
|
height,
|
||||||
@ -3834,7 +3848,7 @@ static void materialui_render_header(
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* > Draw clock (if required) */
|
/* > Draw clock (if required) */
|
||||||
if (settings->bools.menu_timedate_enable)
|
if (menu_timedate_enable)
|
||||||
{
|
{
|
||||||
gfx_display_ctx_datetime_t datetime;
|
gfx_display_ctx_datetime_t datetime;
|
||||||
char timedate_str[MUI_TIMEDATE_MAX_LENGTH];
|
char timedate_str[MUI_TIMEDATE_MAX_LENGTH];
|
||||||
@ -3843,7 +3857,7 @@ static void materialui_render_header(
|
|||||||
|
|
||||||
datetime.s = timedate_str;
|
datetime.s = timedate_str;
|
||||||
datetime.len = sizeof(timedate_str);
|
datetime.len = sizeof(timedate_str);
|
||||||
datetime.time_mode = settings->uints.menu_timedate_style;
|
datetime.time_mode = menu_timedate_style;
|
||||||
|
|
||||||
menu_display_timedate(&datetime);
|
menu_display_timedate(&datetime);
|
||||||
|
|
||||||
@ -3875,19 +3889,25 @@ static void materialui_render_header(
|
|||||||
|
|
||||||
gfx_display_draw_text(mui->font_data.hint.font,
|
gfx_display_draw_text(mui->font_data.hint.font,
|
||||||
mui->sys_bar_cache.timedate_str,
|
mui->sys_bar_cache.timedate_str,
|
||||||
(int)width - ((int)sys_bar_clock_width + (int)sys_bar_battery_width + (int)mui->nav_bar_layout_width),
|
(int)width - (
|
||||||
|
(int)sys_bar_clock_width
|
||||||
|
+ (int)sys_bar_battery_width
|
||||||
|
+ (int)mui->nav_bar_layout_width),
|
||||||
sys_bar_text_y,
|
sys_bar_text_y,
|
||||||
width, height, mui->colors.sys_bar_text, TEXT_ALIGN_LEFT, 1.0f, false, 0, false);
|
width, height, mui->colors.sys_bar_text,
|
||||||
|
TEXT_ALIGN_LEFT, 1.0f, false, 0, false);
|
||||||
|
|
||||||
usable_sys_bar_width -= sys_bar_clock_width;
|
usable_sys_bar_width -= sys_bar_clock_width;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
usable_sys_bar_width -= (2 * mui->sys_bar_margin);
|
usable_sys_bar_width -= (2 * mui->sys_bar_margin);
|
||||||
usable_sys_bar_width = (usable_sys_bar_width > 0) ? usable_sys_bar_width : 0;
|
usable_sys_bar_width = (usable_sys_bar_width > 0)
|
||||||
|
? usable_sys_bar_width
|
||||||
|
: 0;
|
||||||
|
|
||||||
/* > Draw core name, if required */
|
/* > Draw core name, if required */
|
||||||
if (settings->bools.menu_core_enable)
|
if (menu_core_enable)
|
||||||
{
|
{
|
||||||
char core_title[255];
|
char core_title[255];
|
||||||
char core_title_buf[255];
|
char core_title_buf[255];
|
||||||
@ -4847,8 +4867,11 @@ static void materialui_frame(void *data, video_frame_info_t *video_info)
|
|||||||
unsigned header_height = gfx_display_get_header_height();
|
unsigned header_height = gfx_display_get_header_height();
|
||||||
size_t selection = menu_navigation_get_selection();
|
size_t selection = menu_navigation_get_selection();
|
||||||
int list_x_offset;
|
int list_x_offset;
|
||||||
|
enum gfx_animation_ticker_type
|
||||||
|
menu_ticker_type = (enum gfx_animation_ticker_type)settings->uints.menu_ticker_type;
|
||||||
|
bool menu_ticker_smooth = settings->bools.menu_ticker_smooth;
|
||||||
|
|
||||||
if (!mui || !settings)
|
if (!mui)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
gfx_display_set_viewport(width, height);
|
gfx_display_set_viewport(width, height);
|
||||||
@ -4865,22 +4888,25 @@ static void materialui_frame(void *data, video_frame_info_t *video_info)
|
|||||||
/* Update theme colours, if required */
|
/* Update theme colours, if required */
|
||||||
if (mui->color_theme != video_info->materialui_color_theme)
|
if (mui->color_theme != video_info->materialui_color_theme)
|
||||||
{
|
{
|
||||||
materialui_prepare_colors(mui, (enum materialui_color_theme)video_info->materialui_color_theme);
|
materialui_prepare_colors(mui,
|
||||||
mui->color_theme = (enum materialui_color_theme)video_info->materialui_color_theme;
|
(enum materialui_color_theme)
|
||||||
|
video_info->materialui_color_theme);
|
||||||
|
mui->color_theme = (enum materialui_color_theme)
|
||||||
|
video_info->materialui_color_theme;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Update line ticker(s) */
|
/* Update line ticker(s) */
|
||||||
mui->use_smooth_ticker = settings->bools.menu_ticker_smooth;
|
mui->use_smooth_ticker = menu_ticker_smooth;
|
||||||
|
|
||||||
if (mui->use_smooth_ticker)
|
if (mui->use_smooth_ticker)
|
||||||
{
|
{
|
||||||
mui->ticker_smooth.idx = gfx_animation_get_ticker_pixel_idx();
|
mui->ticker_smooth.idx = gfx_animation_get_ticker_pixel_idx();
|
||||||
mui->ticker_smooth.type_enum = (enum gfx_animation_ticker_type)settings->uints.menu_ticker_type;
|
mui->ticker_smooth.type_enum = menu_ticker_type;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
mui->ticker.idx = gfx_animation_get_ticker_idx();
|
mui->ticker.idx = gfx_animation_get_ticker_idx();
|
||||||
mui->ticker.type_enum = (enum gfx_animation_ticker_type)settings->uints.menu_ticker_type;
|
mui->ticker.type_enum = menu_ticker_type;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Handle any transparency adjustments required
|
/* Handle any transparency adjustments required
|
||||||
@ -5106,7 +5132,7 @@ static void materialui_set_list_view_type(
|
|||||||
* be applied, and calculates appropriate landscape
|
* be applied, and calculates appropriate landscape
|
||||||
* entry margin size */
|
* entry margin size */
|
||||||
static void materialui_set_landscape_optimisations_enable(
|
static void materialui_set_landscape_optimisations_enable(
|
||||||
materialui_handle_t *mui, settings_t *settings)
|
materialui_handle_t *mui)
|
||||||
{
|
{
|
||||||
bool optimize_landscape_layout = false;
|
bool optimize_landscape_layout = false;
|
||||||
|
|
||||||
@ -5413,7 +5439,7 @@ static void materialui_update_list_view(materialui_handle_t *mui)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
materialui_set_list_view_type(mui, settings);
|
materialui_set_list_view_type(mui, settings);
|
||||||
materialui_set_landscape_optimisations_enable(mui, settings);
|
materialui_set_landscape_optimisations_enable(mui);
|
||||||
materialui_set_thumbnail_dimensions(mui);
|
materialui_set_thumbnail_dimensions(mui);
|
||||||
materialui_set_secondary_thumbnail_enable(mui, settings);
|
materialui_set_secondary_thumbnail_enable(mui, settings);
|
||||||
|
|
||||||
@ -5650,7 +5676,7 @@ static void *materialui_init(void **userdata, bool video_is_threaded)
|
|||||||
mui->menu_title[0] = '\0';
|
mui->menu_title[0] = '\0';
|
||||||
|
|
||||||
/* Set initial theme colours */
|
/* Set initial theme colours */
|
||||||
mui->color_theme = (enum materialui_color_theme)settings->uints.menu_materialui_color_theme;
|
mui->color_theme = (enum materialui_color_theme)settings->uints.menu_materialui_color_theme;
|
||||||
materialui_prepare_colors(mui, (enum materialui_color_theme)mui->color_theme);
|
materialui_prepare_colors(mui, (enum materialui_color_theme)mui->color_theme);
|
||||||
|
|
||||||
/* Initial ticker configuration */
|
/* Initial ticker configuration */
|
||||||
|
@ -243,7 +243,7 @@ static void *ozone_init(void **userdata, bool video_is_threaded)
|
|||||||
setsysGetColorSetId(&theme);
|
setsysGetColorSetId(&theme);
|
||||||
color_theme = (theme == ColorSetId_Dark) ? 1 : 0;
|
color_theme = (theme == ColorSetId_Dark) ? 1 : 0;
|
||||||
ozone_set_color_theme(ozone, color_theme);
|
ozone_set_color_theme(ozone, color_theme);
|
||||||
settings->uints.menu_ozone_color_theme = color_theme;
|
settings->uints.menu_ozone_color_theme = color_theme;
|
||||||
settings->bools.menu_preferred_system_color_theme_set = true;
|
settings->bools.menu_preferred_system_color_theme_set = true;
|
||||||
setsysExit();
|
setsysExit();
|
||||||
}
|
}
|
||||||
@ -1479,22 +1479,24 @@ static void ozone_draw_header(ozone_handle_t *ozone, video_frame_info_t *video_i
|
|||||||
unsigned logo_icon_size = 60 * scale_factor;
|
unsigned logo_icon_size = 60 * scale_factor;
|
||||||
unsigned status_icon_size = 92 * scale_factor;
|
unsigned status_icon_size = 92 * scale_factor;
|
||||||
unsigned seperator_margin = 30 * scale_factor;
|
unsigned seperator_margin = 30 * scale_factor;
|
||||||
|
enum gfx_animation_ticker_type
|
||||||
|
menu_ticker_type = (enum gfx_animation_ticker_type)settings->uints.menu_ticker_type;
|
||||||
|
|
||||||
/* Initial ticker configuration */
|
/* Initial ticker configuration */
|
||||||
if (use_smooth_ticker)
|
if (use_smooth_ticker)
|
||||||
{
|
{
|
||||||
ticker_smooth.idx = gfx_animation_get_ticker_pixel_idx();
|
ticker_smooth.idx = gfx_animation_get_ticker_pixel_idx();
|
||||||
ticker_smooth.font_scale = 1.0f;
|
ticker_smooth.font_scale = 1.0f;
|
||||||
ticker_smooth.type_enum = (enum gfx_animation_ticker_type)settings->uints.menu_ticker_type;
|
ticker_smooth.type_enum = menu_ticker_type;
|
||||||
ticker_smooth.spacer = ticker_spacer;
|
ticker_smooth.spacer = ticker_spacer;
|
||||||
ticker_smooth.x_offset = &ticker_x_offset;
|
ticker_smooth.x_offset = &ticker_x_offset;
|
||||||
ticker_smooth.dst_str_width = NULL;
|
ticker_smooth.dst_str_width = NULL;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ticker.idx = gfx_animation_get_ticker_idx();
|
ticker.idx = gfx_animation_get_ticker_idx();
|
||||||
ticker.type_enum = (enum gfx_animation_ticker_type)settings->uints.menu_ticker_type;
|
ticker.type_enum = menu_ticker_type;
|
||||||
ticker.spacer = ticker_spacer;
|
ticker.spacer = ticker_spacer;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Separator */
|
/* Separator */
|
||||||
@ -1592,11 +1594,11 @@ static void ozone_draw_header(ozone_handle_t *ozone, video_frame_info_t *video_i
|
|||||||
gfx_display_ctx_datetime_t datetime;
|
gfx_display_ctx_datetime_t datetime;
|
||||||
char timedate[255];
|
char timedate[255];
|
||||||
|
|
||||||
timedate[0] = '\0';
|
timedate[0] = '\0';
|
||||||
|
|
||||||
datetime.s = timedate;
|
datetime.s = timedate;
|
||||||
datetime.time_mode = settings->uints.menu_timedate_style;
|
datetime.time_mode = settings->uints.menu_timedate_style;
|
||||||
datetime.len = sizeof(timedate);
|
datetime.len = sizeof(timedate);
|
||||||
|
|
||||||
menu_display_timedate(&datetime);
|
menu_display_timedate(&datetime);
|
||||||
|
|
||||||
@ -1619,14 +1621,16 @@ static void ozone_draw_header(ozone_handle_t *ozone, video_frame_info_t *video_i
|
|||||||
|
|
||||||
static void ozone_draw_footer(ozone_handle_t *ozone, video_frame_info_t *video_info, settings_t *settings)
|
static void ozone_draw_footer(ozone_handle_t *ozone, video_frame_info_t *video_info, settings_t *settings)
|
||||||
{
|
{
|
||||||
float scale_factor = ozone->last_scale_factor;
|
float scale_factor = ozone->last_scale_factor;
|
||||||
unsigned seperator_margin = 30 * scale_factor;
|
unsigned seperator_margin = 30 * scale_factor;
|
||||||
|
unsigned menu_timedate_style = settings->uints.menu_timedate_style;
|
||||||
|
bool menu_core_enable = settings->bools.menu_core_enable;
|
||||||
|
|
||||||
/* Separator */
|
/* Separator */
|
||||||
gfx_display_draw_quad(video_info, seperator_margin, video_info->height - ozone->dimensions.footer_height, video_info->width - seperator_margin * 2, ozone->dimensions.spacer_1px, video_info->width, video_info->height, ozone->theme->header_footer_separator);
|
gfx_display_draw_quad(video_info, seperator_margin, video_info->height - ozone->dimensions.footer_height, video_info->width - seperator_margin * 2, ozone->dimensions.spacer_1px, video_info->width, video_info->height, ozone->theme->header_footer_separator);
|
||||||
|
|
||||||
/* Core title or Switch icon */
|
/* Core title or Switch icon */
|
||||||
if (settings->bools.menu_core_enable)
|
if (menu_core_enable)
|
||||||
{
|
{
|
||||||
char core_title[255];
|
char core_title[255];
|
||||||
menu_entries_get_core_title(core_title, sizeof(core_title));
|
menu_entries_get_core_title(core_title, sizeof(core_title));
|
||||||
@ -1700,11 +1704,13 @@ static void ozone_draw_footer(ozone_handle_t *ozone, video_frame_info_t *video_i
|
|||||||
|
|
||||||
void ozone_update_content_metadata(ozone_handle_t *ozone)
|
void ozone_update_content_metadata(ozone_handle_t *ozone)
|
||||||
{
|
{
|
||||||
size_t selection = menu_navigation_get_selection();
|
const char *core_name = NULL;
|
||||||
playlist_t *playlist = playlist_get_cached();
|
size_t selection = menu_navigation_get_selection();
|
||||||
settings_t *settings = config_get_ptr();
|
playlist_t *playlist = playlist_get_cached();
|
||||||
const char *core_name = NULL;
|
settings_t *settings = config_get_ptr();
|
||||||
|
bool scroll_content_metadata = settings->bools.ozone_scroll_content_metadata;
|
||||||
|
bool content_runtime_log = settings->bools.content_runtime_log;
|
||||||
|
bool content_runtime_log_aggr= settings->bools.content_runtime_log_aggregate;
|
||||||
/* Must check whether core corresponds to 'viewer'
|
/* Must check whether core corresponds to 'viewer'
|
||||||
* content even when not using a playlist, otherwise
|
* content even when not using a playlist, otherwise
|
||||||
* file browser image updates are mishandled */
|
* file browser image updates are mishandled */
|
||||||
@ -1718,7 +1724,6 @@ void ozone_update_content_metadata(ozone_handle_t *ozone)
|
|||||||
if (ozone->is_playlist && playlist)
|
if (ozone->is_playlist && playlist)
|
||||||
{
|
{
|
||||||
const char *core_label = NULL;
|
const char *core_label = NULL;
|
||||||
bool scroll_content_metadata = settings->bools.ozone_scroll_content_metadata;
|
|
||||||
|
|
||||||
/* Fill core name */
|
/* Fill core name */
|
||||||
if (!core_name || string_is_equal(core_name, "DETECT"))
|
if (!core_name || string_is_equal(core_name, "DETECT"))
|
||||||
@ -1742,7 +1747,7 @@ void ozone_update_content_metadata(ozone_handle_t *ozone)
|
|||||||
ozone->selection_core_name_lines = 1;
|
ozone->selection_core_name_lines = 1;
|
||||||
|
|
||||||
/* Fill play time if applicable */
|
/* Fill play time if applicable */
|
||||||
if (settings->bools.content_runtime_log || settings->bools.content_runtime_log_aggregate)
|
if (content_runtime_log || content_runtime_log_aggr)
|
||||||
{
|
{
|
||||||
const struct playlist_entry *entry = NULL;
|
const struct playlist_entry *entry = NULL;
|
||||||
|
|
||||||
@ -1992,6 +1997,7 @@ static void ozone_frame(void *data, video_frame_info_t *video_info)
|
|||||||
ozone_handle_t* ozone = (ozone_handle_t*) data;
|
ozone_handle_t* ozone = (ozone_handle_t*) data;
|
||||||
settings_t *settings = config_get_ptr();
|
settings_t *settings = config_get_ptr();
|
||||||
unsigned color_theme = settings->uints.menu_ozone_color_theme;
|
unsigned color_theme = settings->uints.menu_ozone_color_theme;
|
||||||
|
bool use_preferred_system_color_theme = settings->bools.menu_use_preferred_system_color_theme;
|
||||||
gfx_animation_ctx_tag messagebox_tag = (uintptr_t)ozone->pending_message;
|
gfx_animation_ctx_tag messagebox_tag = (uintptr_t)ozone->pending_message;
|
||||||
bool draw_osk = menu_input_dialog_get_display_kb();
|
bool draw_osk = menu_input_dialog_get_display_kb();
|
||||||
static bool draw_osk_old = false;
|
static bool draw_osk_old = false;
|
||||||
@ -2035,18 +2041,18 @@ static void ozone_frame(void *data, video_frame_info_t *video_info)
|
|||||||
|
|
||||||
/* Change theme on the fly */
|
/* Change theme on the fly */
|
||||||
if ((color_theme != last_color_theme) ||
|
if ((color_theme != last_color_theme) ||
|
||||||
(last_use_preferred_system_color_theme != settings->bools.menu_use_preferred_system_color_theme))
|
(last_use_preferred_system_color_theme != use_preferred_system_color_theme))
|
||||||
{
|
{
|
||||||
if (settings->bools.menu_use_preferred_system_color_theme)
|
if (use_preferred_system_color_theme)
|
||||||
{
|
{
|
||||||
color_theme = ozone_get_system_theme();
|
color_theme = ozone_get_system_theme();
|
||||||
settings->uints.menu_ozone_color_theme = color_theme;
|
settings->uints.menu_ozone_color_theme = color_theme;
|
||||||
}
|
}
|
||||||
|
|
||||||
ozone_set_color_theme(ozone, color_theme);
|
ozone_set_color_theme(ozone, color_theme);
|
||||||
ozone_set_background_running_opacity(ozone, video_info->menu_framebuffer_opacity);
|
ozone_set_background_running_opacity(ozone, video_info->menu_framebuffer_opacity);
|
||||||
|
|
||||||
last_use_preferred_system_color_theme = settings->bools.menu_use_preferred_system_color_theme;
|
last_use_preferred_system_color_theme = use_preferred_system_color_theme;
|
||||||
}
|
}
|
||||||
|
|
||||||
gfx_display_set_viewport(video_info->width, video_info->height);
|
gfx_display_set_viewport(video_info->width, video_info->height);
|
||||||
@ -2190,9 +2196,7 @@ static void ozone_frame(void *data, video_frame_info_t *video_info)
|
|||||||
ozone_draw_osk(ozone, video_info, label, str);
|
ozone_draw_osk(ozone, video_info, label, str);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
|
||||||
ozone_draw_messagebox(ozone, video_info, ozone->pending_message);
|
ozone_draw_messagebox(ozone, video_info, ozone->pending_message);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
font_driver_flush(video_info->width, video_info->height, ozone->fonts.footer, video_info);
|
font_driver_flush(video_info->width, video_info->height, ozone->fonts.footer, video_info);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user