(Menu drivers) Less pointer grabbing - cut down on get_ptr calls

This commit is contained in:
twinaphex 2021-03-20 17:45:05 +01:00
parent 94ae0460cc
commit a0a681b324
3 changed files with 88 additions and 52 deletions

View File

@ -2302,6 +2302,7 @@ static void materialui_context_reset_textures(materialui_handle_t *mui)
static void materialui_draw_icon( static void materialui_draw_icon(
void *userdata, void *userdata,
gfx_display_t *p_disp,
unsigned video_width, unsigned video_width,
unsigned video_height, unsigned video_height,
unsigned icon_size, unsigned icon_size,
@ -2314,7 +2315,6 @@ static void materialui_draw_icon(
gfx_display_ctx_draw_t draw; gfx_display_ctx_draw_t draw;
struct video_coords coords; struct video_coords coords;
math_matrix_4x4 mymat; math_matrix_4x4 mymat;
gfx_display_t *p_disp = disp_get_ptr();
gfx_display_ctx_driver_t *dispctx = p_disp->dispctx; gfx_display_ctx_driver_t *dispctx = p_disp->dispctx;
if (dispctx && dispctx->blend_begin) if (dispctx && dispctx->blend_begin)
@ -2360,6 +2360,8 @@ static void materialui_draw_icon(
static void materialui_draw_thumbnail( static void materialui_draw_thumbnail(
materialui_handle_t *mui, materialui_handle_t *mui,
gfx_thumbnail_t *thumbnail, gfx_thumbnail_t *thumbnail,
settings_t *settings,
gfx_display_t *p_disp,
void *userdata, void *userdata,
unsigned video_width, unsigned video_width,
unsigned video_height, unsigned video_height,
@ -2418,7 +2420,7 @@ static void materialui_draw_thumbnail(
mui->colors.missing_thumbnail_icon, alpha); mui->colors.missing_thumbnail_icon, alpha);
materialui_draw_icon( materialui_draw_icon(
userdata, userdata, p_disp,
video_width, video_width,
video_height, video_height,
(unsigned)icon_size, (unsigned)icon_size,
@ -2436,8 +2438,6 @@ static void materialui_draw_thumbnail(
* we draw nothing if thumbnail status is unknown, * we draw nothing if thumbnail status is unknown,
* or we are waiting for a thumbnail to load) */ * or we are waiting for a thumbnail to load) */
{ {
settings_t *settings = config_get_ptr();
/* Background */ /* Background */
if (settings && if (settings &&
settings->bools.menu_materialui_thumbnail_background_enable) settings->bools.menu_materialui_thumbnail_background_enable)
@ -3756,6 +3756,7 @@ enum materialui_entry_value_type materialui_get_entry_value_type(
static void materialui_render_switch_icon( static void materialui_render_switch_icon(
materialui_handle_t *mui, materialui_handle_t *mui,
materialui_node_t *node, materialui_node_t *node,
gfx_display_t *p_disp,
void *userdata, void *userdata,
unsigned video_width, unsigned video_width,
unsigned video_height, unsigned video_height,
@ -3776,7 +3777,7 @@ static void materialui_render_switch_icon(
/* Draw background */ /* Draw background */
if (mui->textures.list[MUI_TEXTURE_SWITCH_BG]) if (mui->textures.list[MUI_TEXTURE_SWITCH_BG])
materialui_draw_icon( materialui_draw_icon(
userdata, userdata, p_disp,
video_width, video_width,
video_height, video_height,
mui->icon_size, mui->icon_size,
@ -3790,7 +3791,7 @@ static void materialui_render_switch_icon(
/* Draw switch */ /* Draw switch */
if (mui->textures.list[switch_texture_index]) if (mui->textures.list[switch_texture_index])
materialui_draw_icon( materialui_draw_icon(
userdata, userdata, p_disp,
video_width, video_width,
video_height, video_height,
mui->icon_size, mui->icon_size,
@ -3831,6 +3832,7 @@ static void materialui_render_menu_entry_default(
int value_icon_y = 0; int value_icon_y = 0;
uintptr_t icon_texture = 0; uintptr_t icon_texture = 0;
bool draw_text_outside = (x_offset != 0); bool draw_text_outside = (x_offset != 0);
gfx_display_t *p_disp = disp_get_ptr();
/* Initial ticker configuration /* Initial ticker configuration
* > Note: ticker is only used for labels/values, * > Note: ticker is only used for labels/values,
@ -3901,7 +3903,7 @@ static void materialui_render_menu_entry_default(
if (icon_texture) if (icon_texture)
{ {
materialui_draw_icon( materialui_draw_icon(
userdata, userdata, p_disp,
video_width, video_width,
video_height, video_height,
mui->icon_size, mui->icon_size,
@ -4049,14 +4051,14 @@ static void materialui_render_menu_entry_default(
break; break;
case MUI_ENTRY_VALUE_SWITCH_ON: case MUI_ENTRY_VALUE_SWITCH_ON:
{ {
materialui_render_switch_icon(mui, node, userdata, materialui_render_switch_icon(mui, node, p_disp, userdata,
video_width, video_height, value_icon_y, x_offset, true); video_width, video_height, value_icon_y, x_offset, true);
entry_value_width = mui->icon_size; entry_value_width = mui->icon_size;
} }
break; break;
case MUI_ENTRY_VALUE_SWITCH_OFF: case MUI_ENTRY_VALUE_SWITCH_OFF:
{ {
materialui_render_switch_icon(mui, node, userdata, materialui_render_switch_icon(mui, node, p_disp, userdata,
video_width, video_height, value_icon_y, x_offset, false); video_width, video_height, value_icon_y, x_offset, false);
entry_value_width = mui->icon_size; entry_value_width = mui->icon_size;
} }
@ -4066,7 +4068,7 @@ static void materialui_render_menu_entry_default(
/* Draw checkmark */ /* Draw checkmark */
if (mui->textures.list[MUI_TEXTURE_CHECKMARK]) if (mui->textures.list[MUI_TEXTURE_CHECKMARK])
materialui_draw_icon( materialui_draw_icon(
userdata, userdata, p_disp,
video_width, video_width,
video_height, video_height,
mui->icon_size, mui->icon_size,
@ -4152,6 +4154,7 @@ static void materialui_render_menu_entry_playlist_list(
unsigned header_height, unsigned header_height,
int x_offset) int x_offset)
{ {
bool draw_divider;
const char *entry_label = NULL; const char *entry_label = NULL;
int entry_x = x_offset + node->x; int entry_x = x_offset + node->x;
int entry_y = header_height - mui->scroll_y + node->y; int entry_y = header_height - mui->scroll_y + node->y;
@ -4160,7 +4163,8 @@ static void materialui_render_menu_entry_playlist_list(
int usable_width = (int)node->entry_width - (int)(mui->margin * 2); int usable_width = (int)node->entry_width - (int)(mui->margin * 2);
int label_y = 0; int label_y = 0;
bool draw_text_outside = (x_offset != 0); bool draw_text_outside = (x_offset != 0);
bool draw_divider; settings_t *settings = config_get_ptr();
gfx_display_t *p_disp = disp_get_ptr();
/* Initial ticker configuration /* Initial ticker configuration
* > Note: ticker is only used for labels, * > Note: ticker is only used for labels,
@ -4218,6 +4222,8 @@ static void materialui_render_menu_entry_playlist_list(
materialui_draw_thumbnail( materialui_draw_thumbnail(
mui, mui,
&node->thumbnails.primary, &node->thumbnails.primary,
settings,
p_disp,
userdata, userdata,
video_width, video_width,
video_height, video_height,
@ -4234,6 +4240,8 @@ static void materialui_render_menu_entry_playlist_list(
materialui_draw_thumbnail( materialui_draw_thumbnail(
mui, mui,
&node->thumbnails.secondary, &node->thumbnails.secondary,
settings,
p_disp,
userdata, userdata,
video_width, video_width,
video_height, video_height,
@ -4394,6 +4402,8 @@ static void materialui_render_menu_entry_playlist_dual_icon(
bool draw_divider = (usable_width > 0) && bool draw_divider = (usable_width > 0) &&
((divider_y + (mui->entry_divider_width * 2)) < ((divider_y + (mui->entry_divider_width * 2)) <
(video_height - mui->nav_bar_layout_height - mui->status_bar.height)); (video_height - mui->nav_bar_layout_height - mui->status_bar.height));
gfx_display_t *p_disp = disp_get_ptr();
settings_t *settings = config_get_ptr();
/* Initial ticker configuration /* Initial ticker configuration
* > Note: ticker is only used for labels */ * > Note: ticker is only used for labels */
@ -4419,6 +4429,8 @@ static void materialui_render_menu_entry_playlist_dual_icon(
materialui_draw_thumbnail( materialui_draw_thumbnail(
mui, mui,
&node->thumbnails.primary, &node->thumbnails.primary,
settings,
p_disp,
userdata, userdata,
video_width, video_width,
video_height, video_height,
@ -4430,6 +4442,8 @@ static void materialui_render_menu_entry_playlist_dual_icon(
materialui_draw_thumbnail( materialui_draw_thumbnail(
mui, mui,
&node->thumbnails.secondary, &node->thumbnails.secondary,
settings,
p_disp,
userdata, userdata,
video_width, video_width,
video_height, video_height,
@ -4659,6 +4673,8 @@ static void materialui_render_selected_entry_aux_playlist_desktop(
float thumbnail_x = background_x + (float)mui->margin + float thumbnail_x = background_x + (float)mui->margin +
(mui->landscape_optimization.enabled ? mui->entry_divider_width : 0); (mui->landscape_optimization.enabled ? mui->entry_divider_width : 0);
float thumbnail_y = background_y + (float)mui->margin; float thumbnail_y = background_y + (float)mui->margin;
gfx_display_t *p_disp = disp_get_ptr();
settings_t *settings = config_get_ptr();
/* Sanity check */ /* Sanity check */
if ((background_width <= 0) || if ((background_width <= 0) ||
@ -4734,6 +4750,8 @@ static void materialui_render_selected_entry_aux_playlist_desktop(
materialui_draw_thumbnail( materialui_draw_thumbnail(
mui, mui,
primary_thumbnail, primary_thumbnail,
settings,
p_disp,
userdata, userdata,
video_width, video_width,
video_height, video_height,
@ -4745,6 +4763,8 @@ static void materialui_render_selected_entry_aux_playlist_desktop(
materialui_draw_thumbnail( materialui_draw_thumbnail(
mui, mui,
secondary_thumbnail, secondary_thumbnail,
settings,
p_disp,
userdata, userdata,
video_width, video_width,
video_height, video_height,
@ -5290,11 +5310,12 @@ static void materialui_render_entry_touch_feedback(
static void materialui_render_header( static void materialui_render_header(
materialui_handle_t *mui, materialui_handle_t *mui,
settings_t *settings,
gfx_display_t *p_disp,
void *userdata, void *userdata,
unsigned video_width, unsigned video_height) unsigned video_width, unsigned video_height)
{ {
char menu_title_buf[255]; char menu_title_buf[255];
settings_t *settings = config_get_ptr();
size_t menu_title_margin = 0; size_t menu_title_margin = 0;
int usable_sys_bar_width = (int)video_width - (int)mui->nav_bar_layout_width; int usable_sys_bar_width = (int)video_width - (int)mui->nav_bar_layout_width;
int usable_title_bar_width = usable_sys_bar_width; int usable_title_bar_width = usable_sys_bar_width;
@ -5424,7 +5445,7 @@ static void materialui_render_header(
} }
materialui_draw_icon( materialui_draw_icon(
userdata, userdata, p_disp,
video_width, video_width,
video_height, video_height,
mui->sys_bar_icon_size, mui->sys_bar_icon_size,
@ -5563,7 +5584,7 @@ static void materialui_render_header(
menu_title_margin = mui->icon_size; menu_title_margin = mui->icon_size;
materialui_draw_icon( materialui_draw_icon(
userdata, userdata, p_disp,
video_width, video_width,
video_height, video_height,
mui->icon_size, mui->icon_size,
@ -5581,7 +5602,7 @@ static void materialui_render_header(
if (show_search_icon) if (show_search_icon)
{ {
materialui_draw_icon( materialui_draw_icon(
userdata, userdata, p_disp,
video_width, video_width,
video_height, video_height,
mui->icon_size, mui->icon_size,
@ -5601,7 +5622,7 @@ static void materialui_render_header(
if (show_switch_view_icon) if (show_switch_view_icon)
{ {
materialui_draw_icon( materialui_draw_icon(
userdata, userdata, p_disp,
video_width, video_width,
video_height, video_height,
mui->icon_size, mui->icon_size,
@ -5704,6 +5725,7 @@ static void materialui_render_header(
* things get incredibly messy and inefficient... */ * things get incredibly messy and inefficient... */
static void materialui_render_nav_bar_bottom( static void materialui_render_nav_bar_bottom(
materialui_handle_t *mui, materialui_handle_t *mui,
gfx_display_t *p_disp,
void *userdata, void *userdata,
unsigned video_width, unsigned video_height) unsigned video_width, unsigned video_height)
{ {
@ -5751,7 +5773,7 @@ static void materialui_render_nav_bar_bottom(
/* > Back - left hand side */ /* > Back - left hand side */
materialui_draw_icon( materialui_draw_icon(
userdata, userdata, p_disp,
video_width, video_width,
video_height, video_height,
mui->icon_size, mui->icon_size,
@ -5765,7 +5787,7 @@ static void materialui_render_nav_bar_bottom(
/* > Resume - right hand side */ /* > Resume - right hand side */
materialui_draw_icon( materialui_draw_icon(
userdata, userdata, p_disp,
video_width, video_width,
video_height, video_height,
mui->icon_size, mui->icon_size,
@ -5786,7 +5808,7 @@ static void materialui_render_nav_bar_bottom(
/* Draw icon */ /* Draw icon */
materialui_draw_icon( materialui_draw_icon(
userdata, userdata, p_disp,
video_width, video_width,
video_height, video_height,
mui->icon_size, mui->icon_size,
@ -5814,6 +5836,7 @@ static void materialui_render_nav_bar_bottom(
static void materialui_render_nav_bar_right( static void materialui_render_nav_bar_right(
materialui_handle_t *mui, materialui_handle_t *mui,
gfx_display_t *p_disp,
void *userdata, void *userdata,
unsigned video_width, unsigned video_width,
unsigned video_height) unsigned video_height)
@ -5862,7 +5885,7 @@ static void materialui_render_nav_bar_right(
/* > Back - bottom */ /* > Back - bottom */
materialui_draw_icon( materialui_draw_icon(
userdata, userdata, p_disp,
video_width, video_width,
video_height, video_height,
mui->icon_size, mui->icon_size,
@ -5876,7 +5899,7 @@ static void materialui_render_nav_bar_right(
/* > Resume - top */ /* > Resume - top */
materialui_draw_icon( materialui_draw_icon(
userdata, userdata, p_disp,
video_width, video_width,
video_height, video_height,
mui->icon_size, mui->icon_size,
@ -5897,7 +5920,7 @@ static void materialui_render_nav_bar_right(
/* Draw icon */ /* Draw icon */
materialui_draw_icon( materialui_draw_icon(
userdata, userdata, p_disp,
video_width, video_width,
video_height, video_height,
mui->icon_size, mui->icon_size,
@ -5925,6 +5948,7 @@ static void materialui_render_nav_bar_right(
static void materialui_render_nav_bar( static void materialui_render_nav_bar(
materialui_handle_t *mui, materialui_handle_t *mui,
gfx_display_t *p_disp,
void *userdata, void *userdata,
unsigned video_width, unsigned video_width,
unsigned video_height) unsigned video_height)
@ -5933,7 +5957,7 @@ static void materialui_render_nav_bar(
{ {
case MUI_NAV_BAR_LOCATION_RIGHT: case MUI_NAV_BAR_LOCATION_RIGHT:
materialui_render_nav_bar_right( materialui_render_nav_bar_right(
mui, userdata, video_width, video_height); mui, p_disp, userdata, video_width, video_height);
break; break;
case MUI_NAV_BAR_LOCATION_HIDDEN: case MUI_NAV_BAR_LOCATION_HIDDEN:
/* Draw nothing */ /* Draw nothing */
@ -5942,7 +5966,7 @@ static void materialui_render_nav_bar(
case MUI_NAV_BAR_LOCATION_BOTTOM: case MUI_NAV_BAR_LOCATION_BOTTOM:
default: default:
materialui_render_nav_bar_bottom( materialui_render_nav_bar_bottom(
mui, userdata, video_width, video_height); mui, p_disp, userdata, video_width, video_height);
break; break;
} }
} }
@ -6702,11 +6726,11 @@ static void materialui_frame(void *data, video_frame_info_t *video_info)
video_width, video_height, header_height, selection); video_width, video_height, header_height, selection);
/* Draw title + system bar */ /* Draw title + system bar */
materialui_render_header(mui, userdata, materialui_render_header(mui, settings, p_disp, userdata,
video_width, video_height); video_width, video_height);
/* Draw navigation bar */ /* Draw navigation bar */
materialui_render_nav_bar(mui, userdata, materialui_render_nav_bar(mui, p_disp, userdata,
video_width, video_height); video_width, video_height);
/* Flush second layer of text /* Flush second layer of text

View File

@ -2099,7 +2099,10 @@ static void ozone_render(void *data,
GFX_ANIMATION_CLEAR_ACTIVE(p_anim); GFX_ANIMATION_CLEAR_ACTIVE(p_anim);
} }
static void ozone_draw_header(ozone_handle_t *ozone, static void ozone_draw_header(
ozone_handle_t *ozone,
gfx_display_t *p_disp,
gfx_animation_t *p_anim,
void *userdata, void *userdata,
unsigned video_width, unsigned video_width,
unsigned video_height, unsigned video_height,
@ -2120,8 +2123,6 @@ static void ozone_draw_header(ozone_handle_t *ozone,
unsigned seperator_margin = 30 * scale_factor; unsigned seperator_margin = 30 * scale_factor;
enum gfx_animation_ticker_type enum gfx_animation_ticker_type
menu_ticker_type = (enum gfx_animation_ticker_type)settings->uints.menu_ticker_type; menu_ticker_type = (enum gfx_animation_ticker_type)settings->uints.menu_ticker_type;
gfx_display_t *p_disp = disp_get_ptr();
gfx_animation_t *p_anim = anim_get_ptr();
gfx_display_ctx_driver_t *dispctx = p_disp->dispctx; gfx_display_ctx_driver_t *dispctx = p_disp->dispctx;
float *col = ozone->theme->entries_icon; float *col = ozone->theme->entries_icon;
@ -2326,7 +2327,10 @@ static void ozone_draw_header(ozone_handle_t *ozone,
} }
} }
static void ozone_draw_footer(ozone_handle_t *ozone, static void ozone_draw_footer(
ozone_handle_t *ozone,
gfx_display_t *p_disp,
gfx_animation_t *p_anim,
void *userdata, void *userdata,
unsigned video_width, unsigned video_width,
unsigned video_height, unsigned video_height,
@ -2380,10 +2384,8 @@ static void ozone_draw_footer(ozone_handle_t *ozone,
ozone->footer_labels.fullscreen_thumbs.width - icon_size - (2.0f * icon_padding); ozone->footer_labels.fullscreen_thumbs.width - icon_size - (2.0f * icon_padding);
float metadata_toggle_x = fullscreen_thumbs_x - float metadata_toggle_x = fullscreen_thumbs_x -
ozone->footer_labels.metadata_toggle.width - icon_size - (2.0f * icon_padding); ozone->footer_labels.metadata_toggle.width - icon_size - (2.0f * icon_padding);
gfx_display_t *p_disp = disp_get_ptr();
gfx_display_ctx_driver_t *dispctx = p_disp->dispctx; gfx_display_ctx_driver_t *dispctx = p_disp->dispctx;
float *col = ozone->theme_dynamic.entries_icon; float *col = ozone->theme_dynamic.entries_icon;
gfx_animation_t *p_anim = anim_get_ptr();
/* Separator */ /* Separator */
gfx_display_draw_quad( gfx_display_draw_quad(
@ -2837,6 +2839,7 @@ static void ozone_frame(void *data, video_frame_info_t *video_info)
bool battery_level_enable = video_info->battery_level_enable; bool battery_level_enable = video_info->battery_level_enable;
bool timedate_enable = video_info->timedate_enable; bool timedate_enable = video_info->timedate_enable;
gfx_display_t *p_disp = disp_get_ptr(); gfx_display_t *p_disp = disp_get_ptr();
gfx_animation_t *p_anim = anim_get_ptr();
gfx_display_ctx_driver_t *dispctx = p_disp->dispctx; gfx_display_ctx_driver_t *dispctx = p_disp->dispctx;
#if 0 #if 0
@ -2924,13 +2927,14 @@ static void ozone_frame(void *data, video_frame_info_t *video_info)
); );
/* Header, footer */ /* Header, footer */
ozone_draw_header(ozone, ozone_draw_header(ozone, p_disp, p_anim,
userdata, userdata,
video_width, video_width,
video_height, video_height,
battery_level_enable, battery_level_enable,
timedate_enable); timedate_enable);
ozone_draw_footer(ozone, ozone_draw_footer(ozone,
p_disp, p_anim,
userdata, userdata,
video_width, video_width,
video_height, video_height,

View File

@ -897,6 +897,7 @@ static void xmb_draw_icon(
static void xmb_draw_text( static void xmb_draw_text(
bool xmb_shadows_enable, bool xmb_shadows_enable,
xmb_handle_t *xmb, xmb_handle_t *xmb,
settings_t *settings,
const char *str, float x, const char *str, float x,
float y, float scale_factor, float alpha, float y, float scale_factor, float alpha,
enum text_alignment text_align, enum text_alignment text_align,
@ -904,7 +905,6 @@ static void xmb_draw_text(
{ {
uint32_t color; uint32_t color;
uint8_t a8; uint8_t a8;
settings_t *settings;
if (alpha > xmb->alpha) if (alpha > xmb->alpha)
alpha = xmb->alpha; alpha = xmb->alpha;
@ -915,7 +915,6 @@ static void xmb_draw_text(
if (a8 == 0) if (a8 == 0)
return; return;
settings = config_get_ptr();
color = FONT_COLOR_RGBA( color = FONT_COLOR_RGBA(
settings->uints.menu_font_color_red, settings->uints.menu_font_color_red,
settings->uints.menu_font_color_green, settings->uints.menu_font_color_green,
@ -939,6 +938,7 @@ static void xmb_messagebox(void *data, const char *message)
static void xmb_render_messagebox_internal( static void xmb_render_messagebox_internal(
void *userdata, void *userdata,
gfx_display_t *p_disp,
unsigned video_width, unsigned video_width,
unsigned video_height, unsigned video_height,
xmb_handle_t *xmb, const char *message) xmb_handle_t *xmb, const char *message)
@ -949,7 +949,6 @@ static void xmb_render_messagebox_internal(
float line_height = 0; float line_height = 0;
int usable_width = 0; int usable_width = 0;
struct string_list list = {0}; struct string_list list = {0};
gfx_display_t *p_disp = disp_get_ptr();
gfx_display_ctx_driver_t *dispctx = p_disp->dispctx; gfx_display_ctx_driver_t *dispctx = p_disp->dispctx;
bool input_dialog_display_kb = false; bool input_dialog_display_kb = false;
@ -3328,7 +3327,8 @@ static int xmb_draw_item(
label_offset = - xmb->margins_label_top; label_offset = - xmb->margins_label_top;
/* Draw sublabel */ /* Draw sublabel */
xmb_draw_text(xmb_shadows_enable, xmb, entry_sublabel, xmb_draw_text(xmb_shadows_enable, xmb, settings,
entry_sublabel,
sublabel_x, ticker_y_offset + sublabel_y, sublabel_x, ticker_y_offset + sublabel_y,
1, node->label_alpha, TEXT_ALIGN_LEFT, 1, node->label_alpha, TEXT_ALIGN_LEFT,
width, height, xmb->font2); width, height, xmb->font2);
@ -3338,14 +3338,16 @@ static int xmb_draw_item(
{ {
if (!string_is_empty(entry_sublabel_top_fade) && if (!string_is_empty(entry_sublabel_top_fade) &&
ticker_top_fade_alpha > 0.0f) ticker_top_fade_alpha > 0.0f)
xmb_draw_text(xmb_shadows_enable, xmb, entry_sublabel_top_fade, xmb_draw_text(xmb_shadows_enable, xmb, settings,
entry_sublabel_top_fade,
sublabel_x, ticker_top_fade_y_offset + sublabel_y, sublabel_x, ticker_top_fade_y_offset + sublabel_y,
1, ticker_top_fade_alpha * node->label_alpha, TEXT_ALIGN_LEFT, 1, ticker_top_fade_alpha * node->label_alpha, TEXT_ALIGN_LEFT,
width, height, xmb->font2); width, height, xmb->font2);
if (!string_is_empty(entry_sublabel_bottom_fade) && if (!string_is_empty(entry_sublabel_bottom_fade) &&
ticker_bottom_fade_alpha > 0.0f) ticker_bottom_fade_alpha > 0.0f)
xmb_draw_text(xmb_shadows_enable, xmb, entry_sublabel_bottom_fade, xmb_draw_text(xmb_shadows_enable, xmb, settings,
entry_sublabel_bottom_fade,
sublabel_x, ticker_bottom_fade_y_offset + sublabel_y, sublabel_x, ticker_bottom_fade_y_offset + sublabel_y,
1, ticker_bottom_fade_alpha * node->label_alpha, TEXT_ALIGN_LEFT, 1, ticker_bottom_fade_alpha * node->label_alpha, TEXT_ALIGN_LEFT,
width, height, xmb->font2); width, height, xmb->font2);
@ -3353,7 +3355,7 @@ static int xmb_draw_item(
} }
} }
xmb_draw_text(xmb_shadows_enable, xmb, tmp, xmb_draw_text(xmb_shadows_enable, xmb, settings, tmp,
(float)ticker_x_offset + node->x + xmb->margins_screen_left + (float)ticker_x_offset + node->x + xmb->margins_screen_left +
xmb->icon_spacing_horizontal + xmb->margins_label_left, xmb->icon_spacing_horizontal + xmb->margins_label_left,
xmb->margins_screen_top + node->y + label_offset, xmb->margins_screen_top + node->y + label_offset,
@ -3385,7 +3387,7 @@ static int xmb_draw_item(
} }
if (do_draw_text) if (do_draw_text)
xmb_draw_text(xmb_shadows_enable, xmb, tmp, xmb_draw_text(xmb_shadows_enable, xmb, settings, tmp,
(float)ticker_x_offset + node->x + (float)ticker_x_offset + node->x +
+ xmb->margins_screen_left + xmb->margins_screen_left
+ xmb->icon_spacing_horizontal + xmb->icon_spacing_horizontal
@ -3476,6 +3478,7 @@ static int xmb_draw_item(
static void xmb_draw_items( static void xmb_draw_items(
void *userdata, void *userdata,
gfx_display_t *p_disp,
unsigned video_width, unsigned video_width,
unsigned video_height, unsigned video_height,
bool xmb_shadows_enable, bool xmb_shadows_enable,
@ -3488,9 +3491,8 @@ static void xmb_draw_items(
unsigned first, last; unsigned first, last;
math_matrix_4x4 mymat; math_matrix_4x4 mymat;
gfx_display_ctx_rotate_draw_t rotate_draw; gfx_display_ctx_rotate_draw_t rotate_draw;
xmb_node_t *core_node = NULL; xmb_node_t *core_node = NULL;
size_t end = 0; size_t end = 0;
gfx_display_t *p_disp = disp_get_ptr();
gfx_display_ctx_driver_t *dispctx = p_disp->dispctx; gfx_display_ctx_driver_t *dispctx = p_disp->dispctx;
if (!list || !list->size || !xmb) if (!list || !list->size || !xmb)
@ -4037,6 +4039,7 @@ static bool xmb_shader_pipeline_active(unsigned menu_shader_pipeline)
static void xmb_draw_bg( static void xmb_draw_bg(
void *userdata, void *userdata,
gfx_display_t *p_disp,
unsigned video_width, unsigned video_width,
unsigned video_height, unsigned video_height,
unsigned menu_shader_pipeline, unsigned menu_shader_pipeline,
@ -4049,7 +4052,6 @@ static void xmb_draw_bg(
float *coord_white) float *coord_white)
{ {
gfx_display_ctx_draw_t draw; gfx_display_ctx_draw_t draw;
gfx_display_t *p_disp = disp_get_ptr();
gfx_display_ctx_driver_t *dispctx = p_disp->dispctx; gfx_display_ctx_driver_t *dispctx = p_disp->dispctx;
draw.x = 0; draw.x = 0;
@ -4176,6 +4178,7 @@ static void xmb_draw_bg(
static void xmb_draw_dark_layer( static void xmb_draw_dark_layer(
xmb_handle_t *xmb, xmb_handle_t *xmb,
gfx_display_t *p_disp,
void *userdata, void *userdata,
unsigned width, unsigned width,
unsigned height) unsigned height)
@ -4188,7 +4191,6 @@ static void xmb_draw_dark_layer(
0, 0, 0, 1, 0, 0, 0, 1,
0, 0, 0, 1, 0, 0, 0, 1,
}; };
gfx_display_t *p_disp = disp_get_ptr();
gfx_display_ctx_driver_t *dispctx = p_disp->dispctx; gfx_display_ctx_driver_t *dispctx = p_disp->dispctx;
gfx_display_set_alpha(black, MIN(xmb->alpha, 0.75)); gfx_display_set_alpha(black, MIN(xmb->alpha, 0.75));
@ -4725,6 +4727,7 @@ static void xmb_frame(void *data, video_frame_info_t *video_info)
xmb_draw_bg( xmb_draw_bg(
userdata, userdata,
p_disp,
video_width, video_width,
video_height, video_height,
menu_shader_pipeline, menu_shader_pipeline,
@ -4757,7 +4760,7 @@ static void xmb_frame(void *data, video_frame_info_t *video_info)
} }
/* Title text */ /* Title text */
xmb_draw_text(xmb_shadows_enable, xmb, xmb_draw_text(xmb_shadows_enable, xmb, settings,
title_truncated, xmb->margins_title_left, title_truncated, xmb->margins_title_left,
xmb->margins_title_top, xmb->margins_title_top,
1, 1, TEXT_ALIGN_LEFT, 1, 1, TEXT_ALIGN_LEFT,
@ -4766,7 +4769,8 @@ static void xmb_frame(void *data, video_frame_info_t *video_info)
if (menu_core_enable) if (menu_core_enable)
{ {
menu_entries_get_core_title(title_msg, sizeof(title_msg)); menu_entries_get_core_title(title_msg, sizeof(title_msg));
xmb_draw_text(xmb_shadows_enable, xmb, title_msg, xmb->margins_title_left, xmb_draw_text(xmb_shadows_enable, xmb, settings,
title_msg, xmb->margins_title_left,
video_height - xmb->margins_title_bottom, 1, 1, TEXT_ALIGN_LEFT, video_height - xmb->margins_title_bottom, 1, 1, TEXT_ALIGN_LEFT,
video_width, video_height, xmb->font); video_width, video_height, xmb->font);
} }
@ -5042,7 +5046,7 @@ static void xmb_frame(void *data, video_frame_info_t *video_info)
font_driver_get_message_width( font_driver_get_message_width(
xmb->font, msg, (unsigned)strlen(msg), 1); xmb->font, msg, (unsigned)strlen(msg), 1);
xmb_draw_text(xmb_shadows_enable, xmb, msg, xmb_draw_text(xmb_shadows_enable, xmb, settings, msg,
video_width - xmb->margins_title_left - x_pos, video_width - xmb->margins_title_left - x_pos,
xmb->margins_title_top, 1, 1, TEXT_ALIGN_RIGHT, xmb->margins_title_top, 1, 1, TEXT_ALIGN_RIGHT,
video_width, video_height, xmb->font); video_width, video_height, xmb->font);
@ -5099,7 +5103,7 @@ static void xmb_frame(void *data, video_frame_info_t *video_info)
if (percent_width) if (percent_width)
x_pos = percent_width + (xmb->icon_size / 2.5); x_pos = percent_width + (xmb->icon_size / 2.5);
xmb_draw_text(xmb_shadows_enable, xmb, timedate, xmb_draw_text(xmb_shadows_enable, xmb, settings, timedate,
video_width - xmb->margins_title_left - xmb->icon_size / 4 - x_pos, video_width - xmb->margins_title_left - xmb->icon_size / 4 - x_pos,
xmb->margins_title_top, 1, 1, TEXT_ALIGN_RIGHT, xmb->margins_title_top, 1, 1, TEXT_ALIGN_RIGHT,
video_width, video_height, xmb->font); video_width, video_height, xmb->font);
@ -5229,6 +5233,7 @@ static void xmb_frame(void *data, video_frame_info_t *video_info)
/* Vertical icons */ /* Vertical icons */
xmb_draw_items( xmb_draw_items(
userdata, userdata,
p_disp,
video_width, video_width,
video_height, video_height,
xmb_shadows_enable, xmb_shadows_enable,
@ -5246,6 +5251,7 @@ static void xmb_frame(void *data, video_frame_info_t *video_info)
xmb_draw_items( xmb_draw_items(
userdata, userdata,
p_disp,
video_width, video_width,
video_height, video_height,
xmb_shadows_enable, xmb_shadows_enable,
@ -5292,8 +5298,10 @@ static void xmb_frame(void *data, video_frame_info_t *video_info)
if (render_background) if (render_background)
{ {
xmb_draw_dark_layer(xmb, userdata, video_width, video_height); xmb_draw_dark_layer(xmb, p_disp,
xmb_render_messagebox_internal(userdata, video_width, video_height, userdata, video_width, video_height);
xmb_render_messagebox_internal(userdata, p_disp,
video_width, video_height,
xmb, msg); xmb, msg);
} }