diff --git a/menu/drivers/glui.c b/menu/drivers/glui.c index d1a1451255..db1e14fe94 100644 --- a/menu/drivers/glui.c +++ b/menu/drivers/glui.c @@ -341,6 +341,7 @@ static void glui_frame(void) { unsigned i; GRfloat coord_color[16]; + GRfloat coord_color2[16]; GRfloat black_bg[16]; GRfloat bar_bg[16]; GRfloat highlight_bg[16]; @@ -390,6 +391,7 @@ static void glui_frame(void) for (i = 0; i < 16; i++) { coord_color[i] = 0; + coord_color2[i] = 1.0f; black_bg[i] = 0; bar_bg[i] = 0.2; highlight_bg[i] = 1; @@ -399,12 +401,14 @@ static void glui_frame(void) { black_bg[i] = 0.75f; coord_color[i] = 0.75f; + coord_color2[i] = 0.75f; bar_bg[i] = 1.00f; highlight_bg[i] = 0.1f; } } menu_video_frame_background(menu, settings, - gl, glui->textures.bg.id, 0.75f, false, &coord_color[0], + gl, glui->textures.bg.id, 0.75f, false, + &coord_color[0], &coord_color2[0], &glui_vertexes[0], &glui_tex_coords[0]); menu_entries_get_title(title, sizeof(title)); diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index a609dc41cf..5e9500896d 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -1579,6 +1579,7 @@ static void xmb_frame(void) char title_msg[PATH_MAX_LENGTH]; char timedate[PATH_MAX_LENGTH]; GRfloat coord_color[16]; + GRfloat coord_color2[16]; bool render_background = false; xmb_handle_t *xmb = NULL; gl_t *gl = NULL; @@ -1614,14 +1615,18 @@ static void xmb_frame(void) for (i = 0; i < 16; i++) { - coord_color[i] = 0; + coord_color[i] = 0; + coord_color2[i] = 1.0f; if (i == 3 || i == 7 || i == 11 || i == 15) - coord_color[i] = (0.75f > xmb->alpha) ? xmb->alpha : 0.75f; + { + coord_color[i] = (0.75f > xmb->alpha) ? xmb->alpha : 0.75f; + coord_color2[i] = xmb->alpha; + } } menu_video_frame_background(menu, settings, gl, xmb->textures.bg.id, xmb->alpha, false, &coord_color[0], - &rmb_vertex[0], &rmb_tex_coord[0]); + &coord_color2[0], &rmb_vertex[0], &rmb_tex_coord[0]); xmb_draw_text(menu, xmb, xmb->title_name, xmb->margins.title.left, @@ -1704,7 +1709,8 @@ static void xmb_frame(void) if (render_background) { menu_video_frame_background(menu, settings, gl, - xmb->textures.bg.id, xmb->alpha, true, &coord_color[0], + xmb->textures.bg.id, xmb->alpha, true, + &coord_color[0], &coord_color2[0], &rmb_vertex[0], &rmb_tex_coord[0]); xmb_frame_messagebox(msg); } diff --git a/menu/menu_video.c b/menu/menu_video.c index 52a9fe9c69..8b1441aefe 100644 --- a/menu/menu_video.c +++ b/menu/menu_video.c @@ -57,32 +57,15 @@ void menu_video_frame_background( float handle_alpha, bool force_transparency, GRfloat *coord_color, + GRfloat *coord_color2, const GRfloat *vertex, const GRfloat *tex_coord) { struct gfx_coords coords; unsigned width, height; - GRfloat color[16]; global_t *global = global_get_ptr(); - color[ 0] = 1.0f; - color[ 1] = 1.0f; - color[ 2] = 1.0f; - color[ 3] = handle_alpha; - color[ 4] = 1.0f; - color[ 5] = 1.0f; - color[ 6] = 1.0f; - color[ 7] = handle_alpha; - color[ 8] = 1.0f; - color[ 9] = 1.0f; - color[10] = 1.0f; - color[11] = handle_alpha; - color[12] = 1.0f; - color[13] = 1.0f; - color[14] = 1.0f; - color[15] = handle_alpha; - coords.vertices = 4; coords.vertex = vertex; coords.tex_coord = tex_coord; @@ -98,7 +81,7 @@ void menu_video_frame_background( || !global->inited.main || (global->inited.core.type == CORE_TYPE_DUMMY)) && !force_transparency && texture) - coords.color = color; + coords.color = (const float*)coord_color2; video_driver_get_size(&width, &height); diff --git a/menu/menu_video.h b/menu/menu_video.h index 0842e04ef8..741259ee0f 100644 --- a/menu/menu_video.h +++ b/menu/menu_video.h @@ -44,6 +44,7 @@ void menu_video_frame_background( float handle_alpha, bool force_transparency, GRfloat *color, + GRfloat *color2, const GRfloat *vertex, const GRfloat *tex_coord); #endif