diff --git a/frontend/menu/disp/glui.c b/frontend/menu/disp/glui.c index ea6084136f..be03f67f61 100644 --- a/frontend/menu/disp/glui.c +++ b/frontend/menu/disp/glui.c @@ -150,6 +150,8 @@ static void glui_render_background(bool force_transparency) glEnable(GL_BLEND); glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); glDisable(GL_BLEND); + + gl->coords.color = gl->white_color_ptr; } static void glui_get_message(const char *message) diff --git a/frontend/menu/disp/lakka.c b/frontend/menu/disp/lakka.c index 14e404cf12..f172bd5c9b 100644 --- a/frontend/menu/disp/lakka.c +++ b/frontend/menu/disp/lakka.c @@ -199,6 +199,8 @@ void lakka_draw_background(bool force_transparency) glEnable(GL_BLEND); glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); glDisable(GL_BLEND); + + gl->coords.color = gl->white_color_ptr; } static void lakka_draw_icon(lakka_handle_t *lakka, @@ -1168,77 +1170,45 @@ static void *lakka_init(void) lakka->active_item_factor = 2.75; lakka->under_item_offset = 4.0; + float scale_factor; + if (gl->win_width >= 3840) { - lakka->icon_size = 256; - lakka->hspacing = 400; - lakka->vspacing = 128; - lakka->margin_left = 672.0; - lakka->margin_top = 512; - lakka->title_margin_left = 20.0; - lakka->title_margin_top = 50.0; - lakka->label_margin_left = 192; - lakka->label_margin_top = 15; - lakka->setting_margin_left = 1200; + scale_factor = 2.0; strlcpy(lakka->icon_dir, "256", sizeof(lakka->icon_dir)); } else if (gl->win_width >= 2560) { - lakka->icon_size = 192; - lakka->hspacing = 300; - lakka->vspacing = 96; - lakka->margin_left = 448.0; - lakka->margin_top = 384; - lakka->title_margin_left = 15.0; - lakka->title_margin_top = 40.0; - lakka->label_margin_left = 144; - lakka->label_margin_top = 11.0; - lakka->setting_margin_left = 800; + scale_factor = 1.5; strlcpy(lakka->icon_dir, "192", sizeof(lakka->icon_dir)); } else if (gl->win_width >= 1920) { - lakka->icon_size = 128; - lakka->hspacing = 200.0; - lakka->vspacing = 64.0; - lakka->margin_left = 336.0; - lakka->margin_top = 256; - lakka->title_margin_left = 15.0; - lakka->title_margin_top = 35.0; - lakka->label_margin_left = 85; - lakka->label_margin_top = 8.0; - lakka->setting_margin_left = 600; + scale_factor = 1.0; strlcpy(lakka->icon_dir, "128", sizeof(lakka->icon_dir)); } else if (gl->win_width <= 640) { - lakka->icon_size = 64; - lakka->hspacing = 100.0; - lakka->vspacing = 32.0; - lakka->margin_left = 60.0; - lakka->margin_top = 128.0; - lakka->title_margin_left = 10.0; - lakka->title_margin_top = 24.0; - lakka->label_margin_left = 48; - lakka->label_margin_top = 6.0; - lakka->setting_margin_left = 250; + scale_factor = 0.5; strlcpy(lakka->icon_dir, "64", sizeof(lakka->icon_dir)); } else { - lakka->icon_size = 96; - lakka->hspacing = 150.0; - lakka->vspacing = 48.0; - lakka->margin_left = 224; - lakka->margin_top = 192; - lakka->title_margin_left = 15.0; - lakka->title_margin_top = 30.0; - lakka->label_margin_left = 64; - lakka->label_margin_top = 6.0; - lakka->setting_margin_left = 400; + scale_factor = 3.0f/4.0f; strlcpy(lakka->icon_dir, "96", sizeof(lakka->icon_dir)); } + lakka->icon_size = 128.0 * scale_factor; + lakka->hspacing = 200.0 * scale_factor; + lakka->vspacing = 64.0 * scale_factor; + lakka->margin_left = 336.0 * scale_factor; + lakka->margin_top = 256 * scale_factor; + lakka->title_margin_left = 15.0 * scale_factor; + lakka->title_margin_top = 20.0 * scale_factor + g_settings.video.font_size/3.0; + lakka->label_margin_left = 85.0 * scale_factor; + lakka->label_margin_top = g_settings.video.font_size/3.0; + lakka->setting_margin_left = 600.0 * scale_factor; + lakka->depth = 0; lakka->menu_active_category = 0; lakka->all_categories_x = 0; diff --git a/frontend/menu/disp/xmb.c b/frontend/menu/disp/xmb.c index efb9452a0f..ac1fab3e2c 100644 --- a/frontend/menu/disp/xmb.c +++ b/frontend/menu/disp/xmb.c @@ -300,6 +300,8 @@ static void xmb_render_background(bool force_transparency) glEnable(GL_BLEND); glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); glDisable(GL_BLEND); + + gl->coords.color = gl->white_color_ptr; } static void xmb_get_message(const char *message) @@ -450,7 +452,7 @@ static void xmb_frame(void) snprintf(title_msg, sizeof(title_msg), "%s - %s %s", PACKAGE_VERSION, core_name, core_version); xmb_draw_text(title_msg, xmb->title_margin_left, - gl->win_height - xmb->title_margin_top, 1, 1); + gl->win_height - xmb->title_margin_top/2, 1, 1); end = file_list_get_size(driver.menu->selection_buf); @@ -574,10 +576,10 @@ static void *xmb_init(void) if (!xmb) return NULL; - xmb->x = 0; - xmb->alpha = 1.0f; - xmb->depth = 1; - xmb->old_depth = 1; + xmb->x = 0; + xmb->alpha = 1.0f; + xmb->depth = 1; + xmb->old_depth = 1; xmb->c_active_zoom = 1.0; xmb->c_passive_zoom = 0.5; @@ -594,77 +596,45 @@ static void *xmb_init(void) xmb->active_item_factor = 2.75; xmb->under_item_offset = 4.0; + float scale_factor; + if (gl->win_width >= 3840) { - xmb->icon_size = 256; - xmb->hspacing = 400; - xmb->vspacing = 128; - xmb->margin_left = 672.0; - xmb->margin_top = 512; - xmb->title_margin_left = 20.0; - xmb->title_margin_top = 50.0; - xmb->label_margin_left = 192; - xmb->label_margin_top = 15; - xmb->setting_margin_left = 1200; + scale_factor = 2.0; strlcpy(xmb->icon_dir, "256", sizeof(xmb->icon_dir)); } else if (gl->win_width >= 2560) { - xmb->icon_size = 192; - xmb->hspacing = 300; - xmb->vspacing = 96; - xmb->margin_left = 448.0; - xmb->margin_top = 384; - xmb->title_margin_left = 15.0; - xmb->title_margin_top = 40.0; - xmb->label_margin_left = 144; - xmb->label_margin_top = 11.0; - xmb->setting_margin_left = 800; + scale_factor = 1.5; strlcpy(xmb->icon_dir, "192", sizeof(xmb->icon_dir)); } else if (gl->win_width >= 1920) { - xmb->icon_size = 128; - xmb->hspacing = 200.0; - xmb->vspacing = 64.0; - xmb->margin_left = 336.0; - xmb->margin_top = 256; - xmb->title_margin_left = 15.0; - xmb->title_margin_top = 35.0; - xmb->label_margin_left = 85; - xmb->label_margin_top = 8.0; - xmb->setting_margin_left = 600; + scale_factor = 1.0; strlcpy(xmb->icon_dir, "128", sizeof(xmb->icon_dir)); } else if (gl->win_width <= 640) { - xmb->icon_size = 64; - xmb->hspacing = 100.0; - xmb->vspacing = 32.0; - xmb->margin_left = 60.0; - xmb->margin_top = 128.0; - xmb->title_margin_left = 10.0; - xmb->title_margin_top = 24.0; - xmb->label_margin_left = 48; - xmb->label_margin_top = 6.0; - xmb->setting_margin_left = 250; + scale_factor = 0.5; strlcpy(xmb->icon_dir, "64", sizeof(xmb->icon_dir)); } else { - xmb->icon_size = 96; - xmb->hspacing = 150.0; - xmb->vspacing = 48.0; - xmb->margin_left = 224; - xmb->margin_top = 192; - xmb->title_margin_left = 15.0; - xmb->title_margin_top = 30.0; - xmb->label_margin_left = 64; - xmb->label_margin_top = 6.0; - xmb->setting_margin_left = 400; + scale_factor = 3.0f/4.0f; strlcpy(xmb->icon_dir, "96", sizeof(xmb->icon_dir)); } + xmb->icon_size = 128.0 * scale_factor; + xmb->hspacing = 200.0 * scale_factor; + xmb->vspacing = 64.0 * scale_factor; + xmb->margin_left = 336.0 * scale_factor; + xmb->margin_top = 256 * scale_factor; + xmb->title_margin_left = 15.0 * scale_factor; + xmb->title_margin_top = 20.0 * scale_factor + g_settings.video.font_size/3.0; + xmb->label_margin_left = 85.0 * scale_factor; + xmb->label_margin_top = g_settings.video.font_size/3.0; + xmb->setting_margin_left = 600.0 * scale_factor; + xmb_init_core_info(menu); return menu;