diff --git a/menu/drivers/materialui.c b/menu/drivers/materialui.c index b23ed5aa68..e110643c9f 100644 --- a/menu/drivers/materialui.c +++ b/menu/drivers/materialui.c @@ -2302,6 +2302,7 @@ static void materialui_context_reset_textures(materialui_handle_t *mui) static void materialui_draw_icon( void *userdata, + gfx_display_t *p_disp, unsigned video_width, unsigned video_height, unsigned icon_size, @@ -2314,7 +2315,6 @@ static void materialui_draw_icon( gfx_display_ctx_draw_t draw; struct video_coords coords; math_matrix_4x4 mymat; - gfx_display_t *p_disp = disp_get_ptr(); gfx_display_ctx_driver_t *dispctx = p_disp->dispctx; if (dispctx && dispctx->blend_begin) @@ -2360,6 +2360,8 @@ static void materialui_draw_icon( static void materialui_draw_thumbnail( materialui_handle_t *mui, gfx_thumbnail_t *thumbnail, + settings_t *settings, + gfx_display_t *p_disp, void *userdata, unsigned video_width, unsigned video_height, @@ -2418,7 +2420,7 @@ static void materialui_draw_thumbnail( mui->colors.missing_thumbnail_icon, alpha); materialui_draw_icon( - userdata, + userdata, p_disp, video_width, video_height, (unsigned)icon_size, @@ -2436,8 +2438,6 @@ static void materialui_draw_thumbnail( * we draw nothing if thumbnail status is unknown, * or we are waiting for a thumbnail to load) */ { - settings_t *settings = config_get_ptr(); - /* Background */ if (settings && 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( materialui_handle_t *mui, materialui_node_t *node, + gfx_display_t *p_disp, void *userdata, unsigned video_width, unsigned video_height, @@ -3776,7 +3777,7 @@ static void materialui_render_switch_icon( /* Draw background */ if (mui->textures.list[MUI_TEXTURE_SWITCH_BG]) materialui_draw_icon( - userdata, + userdata, p_disp, video_width, video_height, mui->icon_size, @@ -3790,7 +3791,7 @@ static void materialui_render_switch_icon( /* Draw switch */ if (mui->textures.list[switch_texture_index]) materialui_draw_icon( - userdata, + userdata, p_disp, video_width, video_height, mui->icon_size, @@ -3831,6 +3832,7 @@ static void materialui_render_menu_entry_default( int value_icon_y = 0; uintptr_t icon_texture = 0; bool draw_text_outside = (x_offset != 0); + gfx_display_t *p_disp = disp_get_ptr(); /* Initial ticker configuration * > Note: ticker is only used for labels/values, @@ -3901,7 +3903,7 @@ static void materialui_render_menu_entry_default( if (icon_texture) { materialui_draw_icon( - userdata, + userdata, p_disp, video_width, video_height, mui->icon_size, @@ -4049,14 +4051,14 @@ static void materialui_render_menu_entry_default( break; 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); entry_value_width = mui->icon_size; } break; 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); entry_value_width = mui->icon_size; } @@ -4066,7 +4068,7 @@ static void materialui_render_menu_entry_default( /* Draw checkmark */ if (mui->textures.list[MUI_TEXTURE_CHECKMARK]) materialui_draw_icon( - userdata, + userdata, p_disp, video_width, video_height, mui->icon_size, @@ -4152,6 +4154,7 @@ static void materialui_render_menu_entry_playlist_list( unsigned header_height, int x_offset) { + bool draw_divider; const char *entry_label = NULL; int entry_x = x_offset + node->x; 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 label_y = 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 * > Note: ticker is only used for labels, @@ -4218,6 +4222,8 @@ static void materialui_render_menu_entry_playlist_list( materialui_draw_thumbnail( mui, &node->thumbnails.primary, + settings, + p_disp, userdata, video_width, video_height, @@ -4234,6 +4240,8 @@ static void materialui_render_menu_entry_playlist_list( materialui_draw_thumbnail( mui, &node->thumbnails.secondary, + settings, + p_disp, userdata, video_width, video_height, @@ -4394,6 +4402,8 @@ static void materialui_render_menu_entry_playlist_dual_icon( bool draw_divider = (usable_width > 0) && ((divider_y + (mui->entry_divider_width * 2)) < (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 * > Note: ticker is only used for labels */ @@ -4419,6 +4429,8 @@ static void materialui_render_menu_entry_playlist_dual_icon( materialui_draw_thumbnail( mui, &node->thumbnails.primary, + settings, + p_disp, userdata, video_width, video_height, @@ -4430,6 +4442,8 @@ static void materialui_render_menu_entry_playlist_dual_icon( materialui_draw_thumbnail( mui, &node->thumbnails.secondary, + settings, + p_disp, userdata, video_width, video_height, @@ -4659,6 +4673,8 @@ static void materialui_render_selected_entry_aux_playlist_desktop( float thumbnail_x = background_x + (float)mui->margin + (mui->landscape_optimization.enabled ? mui->entry_divider_width : 0); float thumbnail_y = background_y + (float)mui->margin; + gfx_display_t *p_disp = disp_get_ptr(); + settings_t *settings = config_get_ptr(); /* Sanity check */ if ((background_width <= 0) || @@ -4734,6 +4750,8 @@ static void materialui_render_selected_entry_aux_playlist_desktop( materialui_draw_thumbnail( mui, primary_thumbnail, + settings, + p_disp, userdata, video_width, video_height, @@ -4745,6 +4763,8 @@ static void materialui_render_selected_entry_aux_playlist_desktop( materialui_draw_thumbnail( mui, secondary_thumbnail, + settings, + p_disp, userdata, video_width, video_height, @@ -5290,11 +5310,12 @@ static void materialui_render_entry_touch_feedback( static void materialui_render_header( materialui_handle_t *mui, + settings_t *settings, + gfx_display_t *p_disp, void *userdata, unsigned video_width, unsigned video_height) { char menu_title_buf[255]; - settings_t *settings = config_get_ptr(); size_t menu_title_margin = 0; int usable_sys_bar_width = (int)video_width - (int)mui->nav_bar_layout_width; int usable_title_bar_width = usable_sys_bar_width; @@ -5424,7 +5445,7 @@ static void materialui_render_header( } materialui_draw_icon( - userdata, + userdata, p_disp, video_width, video_height, mui->sys_bar_icon_size, @@ -5563,7 +5584,7 @@ static void materialui_render_header( menu_title_margin = mui->icon_size; materialui_draw_icon( - userdata, + userdata, p_disp, video_width, video_height, mui->icon_size, @@ -5581,7 +5602,7 @@ static void materialui_render_header( if (show_search_icon) { materialui_draw_icon( - userdata, + userdata, p_disp, video_width, video_height, mui->icon_size, @@ -5601,7 +5622,7 @@ static void materialui_render_header( if (show_switch_view_icon) { materialui_draw_icon( - userdata, + userdata, p_disp, video_width, video_height, mui->icon_size, @@ -5704,6 +5725,7 @@ static void materialui_render_header( * things get incredibly messy and inefficient... */ static void materialui_render_nav_bar_bottom( materialui_handle_t *mui, + gfx_display_t *p_disp, void *userdata, unsigned video_width, unsigned video_height) { @@ -5751,7 +5773,7 @@ static void materialui_render_nav_bar_bottom( /* > Back - left hand side */ materialui_draw_icon( - userdata, + userdata, p_disp, video_width, video_height, mui->icon_size, @@ -5765,7 +5787,7 @@ static void materialui_render_nav_bar_bottom( /* > Resume - right hand side */ materialui_draw_icon( - userdata, + userdata, p_disp, video_width, video_height, mui->icon_size, @@ -5786,7 +5808,7 @@ static void materialui_render_nav_bar_bottom( /* Draw icon */ materialui_draw_icon( - userdata, + userdata, p_disp, video_width, video_height, mui->icon_size, @@ -5814,6 +5836,7 @@ static void materialui_render_nav_bar_bottom( static void materialui_render_nav_bar_right( materialui_handle_t *mui, + gfx_display_t *p_disp, void *userdata, unsigned video_width, unsigned video_height) @@ -5862,7 +5885,7 @@ static void materialui_render_nav_bar_right( /* > Back - bottom */ materialui_draw_icon( - userdata, + userdata, p_disp, video_width, video_height, mui->icon_size, @@ -5876,7 +5899,7 @@ static void materialui_render_nav_bar_right( /* > Resume - top */ materialui_draw_icon( - userdata, + userdata, p_disp, video_width, video_height, mui->icon_size, @@ -5897,7 +5920,7 @@ static void materialui_render_nav_bar_right( /* Draw icon */ materialui_draw_icon( - userdata, + userdata, p_disp, video_width, video_height, mui->icon_size, @@ -5925,6 +5948,7 @@ static void materialui_render_nav_bar_right( static void materialui_render_nav_bar( materialui_handle_t *mui, + gfx_display_t *p_disp, void *userdata, unsigned video_width, unsigned video_height) @@ -5933,7 +5957,7 @@ static void materialui_render_nav_bar( { case MUI_NAV_BAR_LOCATION_RIGHT: materialui_render_nav_bar_right( - mui, userdata, video_width, video_height); + mui, p_disp, userdata, video_width, video_height); break; case MUI_NAV_BAR_LOCATION_HIDDEN: /* Draw nothing */ @@ -5942,7 +5966,7 @@ static void materialui_render_nav_bar( case MUI_NAV_BAR_LOCATION_BOTTOM: default: materialui_render_nav_bar_bottom( - mui, userdata, video_width, video_height); + mui, p_disp, userdata, video_width, video_height); break; } } @@ -6702,11 +6726,11 @@ static void materialui_frame(void *data, video_frame_info_t *video_info) video_width, video_height, header_height, selection); /* Draw title + system bar */ - materialui_render_header(mui, userdata, + materialui_render_header(mui, settings, p_disp, userdata, video_width, video_height); /* Draw navigation bar */ - materialui_render_nav_bar(mui, userdata, + materialui_render_nav_bar(mui, p_disp, userdata, video_width, video_height); /* Flush second layer of text diff --git a/menu/drivers/ozone/ozone.c b/menu/drivers/ozone/ozone.c index f8f62656a9..8981b9f764 100644 --- a/menu/drivers/ozone/ozone.c +++ b/menu/drivers/ozone/ozone.c @@ -2099,7 +2099,10 @@ static void ozone_render(void *data, 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, unsigned video_width, unsigned video_height, @@ -2120,8 +2123,6 @@ static void ozone_draw_header(ozone_handle_t *ozone, unsigned seperator_margin = 30 * scale_factor; enum gfx_animation_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; 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, unsigned video_width, 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); float metadata_toggle_x = fullscreen_thumbs_x - 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; float *col = ozone->theme_dynamic.entries_icon; - gfx_animation_t *p_anim = anim_get_ptr(); /* Separator */ 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 timedate_enable = video_info->timedate_enable; 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; #if 0 @@ -2924,13 +2927,14 @@ static void ozone_frame(void *data, video_frame_info_t *video_info) ); /* Header, footer */ - ozone_draw_header(ozone, + ozone_draw_header(ozone, p_disp, p_anim, userdata, video_width, video_height, battery_level_enable, timedate_enable); ozone_draw_footer(ozone, + p_disp, p_anim, userdata, video_width, video_height, diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index dda8a32a7a..5226ecb0c4 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -897,6 +897,7 @@ static void xmb_draw_icon( static void xmb_draw_text( bool xmb_shadows_enable, xmb_handle_t *xmb, + settings_t *settings, const char *str, float x, float y, float scale_factor, float alpha, enum text_alignment text_align, @@ -904,7 +905,6 @@ static void xmb_draw_text( { uint32_t color; uint8_t a8; - settings_t *settings; if (alpha > xmb->alpha) alpha = xmb->alpha; @@ -915,7 +915,6 @@ static void xmb_draw_text( if (a8 == 0) return; - settings = config_get_ptr(); color = FONT_COLOR_RGBA( settings->uints.menu_font_color_red, 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( void *userdata, + gfx_display_t *p_disp, unsigned video_width, unsigned video_height, xmb_handle_t *xmb, const char *message) @@ -949,7 +949,6 @@ static void xmb_render_messagebox_internal( float line_height = 0; int usable_width = 0; struct string_list list = {0}; - gfx_display_t *p_disp = disp_get_ptr(); gfx_display_ctx_driver_t *dispctx = p_disp->dispctx; bool input_dialog_display_kb = false; @@ -3328,7 +3327,8 @@ static int xmb_draw_item( label_offset = - xmb->margins_label_top; /* 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, 1, node->label_alpha, TEXT_ALIGN_LEFT, width, height, xmb->font2); @@ -3338,14 +3338,16 @@ static int xmb_draw_item( { if (!string_is_empty(entry_sublabel_top_fade) && 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, 1, ticker_top_fade_alpha * node->label_alpha, TEXT_ALIGN_LEFT, width, height, xmb->font2); if (!string_is_empty(entry_sublabel_bottom_fade) && 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, 1, ticker_bottom_fade_alpha * node->label_alpha, TEXT_ALIGN_LEFT, 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 + xmb->icon_spacing_horizontal + xmb->margins_label_left, xmb->margins_screen_top + node->y + label_offset, @@ -3385,7 +3387,7 @@ static int xmb_draw_item( } 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 + + xmb->margins_screen_left + xmb->icon_spacing_horizontal @@ -3476,6 +3478,7 @@ static int xmb_draw_item( static void xmb_draw_items( void *userdata, + gfx_display_t *p_disp, unsigned video_width, unsigned video_height, bool xmb_shadows_enable, @@ -3488,9 +3491,8 @@ static void xmb_draw_items( unsigned first, last; math_matrix_4x4 mymat; gfx_display_ctx_rotate_draw_t rotate_draw; - xmb_node_t *core_node = NULL; - size_t end = 0; - gfx_display_t *p_disp = disp_get_ptr(); + xmb_node_t *core_node = NULL; + size_t end = 0; gfx_display_ctx_driver_t *dispctx = p_disp->dispctx; if (!list || !list->size || !xmb) @@ -4037,6 +4039,7 @@ static bool xmb_shader_pipeline_active(unsigned menu_shader_pipeline) static void xmb_draw_bg( void *userdata, + gfx_display_t *p_disp, unsigned video_width, unsigned video_height, unsigned menu_shader_pipeline, @@ -4049,7 +4052,6 @@ static void xmb_draw_bg( float *coord_white) { gfx_display_ctx_draw_t draw; - gfx_display_t *p_disp = disp_get_ptr(); gfx_display_ctx_driver_t *dispctx = p_disp->dispctx; draw.x = 0; @@ -4176,6 +4178,7 @@ static void xmb_draw_bg( static void xmb_draw_dark_layer( xmb_handle_t *xmb, + gfx_display_t *p_disp, void *userdata, unsigned width, unsigned height) @@ -4188,7 +4191,6 @@ static void xmb_draw_dark_layer( 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_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( userdata, + p_disp, video_width, video_height, menu_shader_pipeline, @@ -4757,7 +4760,7 @@ static void xmb_frame(void *data, video_frame_info_t *video_info) } /* Title text */ - xmb_draw_text(xmb_shadows_enable, xmb, + xmb_draw_text(xmb_shadows_enable, xmb, settings, title_truncated, xmb->margins_title_left, xmb->margins_title_top, 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) { 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_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( 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, xmb->margins_title_top, 1, 1, TEXT_ALIGN_RIGHT, 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) 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, xmb->margins_title_top, 1, 1, TEXT_ALIGN_RIGHT, video_width, video_height, xmb->font); @@ -5229,6 +5233,7 @@ static void xmb_frame(void *data, video_frame_info_t *video_info) /* Vertical icons */ xmb_draw_items( userdata, + p_disp, video_width, video_height, xmb_shadows_enable, @@ -5246,6 +5251,7 @@ static void xmb_frame(void *data, video_frame_info_t *video_info) xmb_draw_items( userdata, + p_disp, video_width, video_height, xmb_shadows_enable, @@ -5292,8 +5298,10 @@ static void xmb_frame(void *data, video_frame_info_t *video_info) if (render_background) { - xmb_draw_dark_layer(xmb, userdata, video_width, video_height); - xmb_render_messagebox_internal(userdata, video_width, video_height, + xmb_draw_dark_layer(xmb, p_disp, + userdata, video_width, video_height); + xmb_render_messagebox_internal(userdata, p_disp, + video_width, video_height, xmb, msg); }