Widget position+size+color adjustments (#16284)

This commit is contained in:
sonninnos 2024-02-25 09:44:29 +02:00 committed by GitHub
parent 5c6643c4a8
commit 8342b3cebe
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 92 additions and 55 deletions

View File

@ -45,7 +45,7 @@
#define BASE_FONT_SIZE 32.0f #define BASE_FONT_SIZE 32.0f
#define MSG_QUEUE_FONT_SIZE (BASE_FONT_SIZE * 0.69f) #define MSG_QUEUE_FONT_SIZE (BASE_FONT_SIZE * 0.62f)
/* Icons */ /* Icons */
static const char static const char
@ -466,8 +466,12 @@ static void gfx_widgets_msg_queue_move(dispgfx_widget_t *p_dispwidget)
if (!msg || (msg->flags & DISPWIDG_FLAG_DYING)) if (!msg || (msg->flags & DISPWIDG_FLAG_DYING))
continue; continue;
y += p_dispwidget->msg_queue_height if (y == 0)
/ (msg->task_ptr ? 2 : 1) + p_dispwidget->msg_queue_spacing; y += (p_dispwidget->simple_widget_padding * 2.0f);
y += (p_dispwidget->msg_queue_height / 2.0f / (msg->task_ptr ? 2.0f : 1.0f))
+ (p_dispwidget->msg_queue_spacing * (msg->task_ptr ? 1.0f : 2.0f))
+ (p_dispwidget->simple_widget_padding / 5.0f);
if (!(msg->flags & DISPWIDG_FLAG_UNFOLDED)) if (!(msg->flags & DISPWIDG_FLAG_UNFOLDED))
unfold = msg; unfold = msg;
@ -794,7 +798,6 @@ static void gfx_widgets_font_init(
font_data->usage_count = 0; font_data->usage_count = 0;
} }
static void gfx_widgets_layout( static void gfx_widgets_layout(
gfx_display_t *p_disp, gfx_display_t *p_disp,
dispgfx_widget_t *p_dispwidget, dispgfx_widget_t *p_dispwidget,
@ -852,10 +855,10 @@ static void gfx_widgets_layout(
} }
/* Calculate dimensions */ /* Calculate dimensions */
p_dispwidget->simple_widget_padding = p_dispwidget->gfx_widget_fonts.regular.line_height * 2.0f/3.0f; p_dispwidget->simple_widget_padding = p_dispwidget->gfx_widget_fonts.regular.line_height * 2.0f / 3.0f;
p_dispwidget->simple_widget_height = p_dispwidget->gfx_widget_fonts.regular.line_height + p_dispwidget->simple_widget_padding; p_dispwidget->simple_widget_height = p_dispwidget->gfx_widget_fonts.regular.line_height + p_dispwidget->simple_widget_padding;
p_dispwidget->msg_queue_height = p_dispwidget->gfx_widget_fonts.msg_queue.line_height * 2.5f * (BASE_FONT_SIZE / MSG_QUEUE_FONT_SIZE); p_dispwidget->msg_queue_height = p_dispwidget->gfx_widget_fonts.msg_queue.line_height * 2.333f * (BASE_FONT_SIZE / MSG_QUEUE_FONT_SIZE);
if (p_dispwidget->flags & DISPGFX_WIDGET_FLAG_MSG_QUEUE_HAS_ICONS) if (p_dispwidget->flags & DISPGFX_WIDGET_FLAG_MSG_QUEUE_HAS_ICONS)
{ {
@ -864,7 +867,7 @@ static void gfx_widgets_layout(
* 1.2347826087f; /* original image is 280x284 */ * 1.2347826087f; /* original image is 280x284 */
p_dispwidget->msg_queue_icon_size_x = 0.98591549295f * p_dispwidget->msg_queue_icon_size_y; p_dispwidget->msg_queue_icon_size_x = 0.98591549295f * p_dispwidget->msg_queue_icon_size_y;
#else #else
p_dispwidget->msg_queue_icon_size_y = p_dispwidget->msg_queue_height * 1.2f; p_dispwidget->msg_queue_icon_size_y = p_dispwidget->msg_queue_height;
p_dispwidget->msg_queue_icon_size_x = p_dispwidget->msg_queue_icon_size_y; p_dispwidget->msg_queue_icon_size_x = p_dispwidget->msg_queue_icon_size_y;
#endif #endif
} }
@ -874,8 +877,8 @@ static void gfx_widgets_layout(
p_dispwidget->msg_queue_icon_size_y = 0; p_dispwidget->msg_queue_icon_size_y = 0;
} }
p_dispwidget->msg_queue_spacing = p_dispwidget->msg_queue_height / 3.3f; p_dispwidget->msg_queue_spacing = p_dispwidget->msg_queue_height / 4.0f;
p_dispwidget->msg_queue_rect_start_x = p_dispwidget->msg_queue_spacing + p_dispwidget->msg_queue_icon_size_x; p_dispwidget->msg_queue_rect_start_x = p_dispwidget->msg_queue_spacing / 2.0f + p_dispwidget->msg_queue_icon_size_x + (p_dispwidget->simple_widget_padding / 4.0f);
p_dispwidget->msg_queue_internal_icon_size = p_dispwidget->msg_queue_icon_size_y; p_dispwidget->msg_queue_internal_icon_size = p_dispwidget->msg_queue_icon_size_y;
p_dispwidget->msg_queue_internal_icon_offset = (p_dispwidget->msg_queue_icon_size_y - p_dispwidget->msg_queue_internal_icon_size) / 2; p_dispwidget->msg_queue_internal_icon_offset = (p_dispwidget->msg_queue_icon_size_y - p_dispwidget->msg_queue_internal_icon_size) / 2;
p_dispwidget->msg_queue_icon_offset_y = (p_dispwidget->msg_queue_icon_size_y - p_dispwidget->msg_queue_height) / 2; p_dispwidget->msg_queue_icon_offset_y = (p_dispwidget->msg_queue_icon_size_y - p_dispwidget->msg_queue_height) / 2;
@ -888,26 +891,25 @@ static void gfx_widgets_layout(
p_dispwidget->msg_queue_task_rect_start_x = p_dispwidget->msg_queue_rect_start_x - p_dispwidget->msg_queue_icon_size_x; p_dispwidget->msg_queue_task_rect_start_x = p_dispwidget->msg_queue_rect_start_x - p_dispwidget->msg_queue_icon_size_x;
p_dispwidget->msg_queue_task_text_start_x = p_dispwidget->msg_queue_task_rect_start_x + p_dispwidget->msg_queue_height / 2; p_dispwidget->msg_queue_task_text_start_x = p_dispwidget->msg_queue_task_rect_start_x + (p_dispwidget->msg_queue_height / 2.0f) + (p_dispwidget->simple_widget_padding / 2.0f);
if (!p_dispwidget->gfx_widgets_icons_textures[MENU_WIDGETS_ICON_HOURGLASS]) if (!p_dispwidget->gfx_widgets_icons_textures[MENU_WIDGETS_ICON_HOURGLASS])
p_dispwidget->msg_queue_task_text_start_x -= p_dispwidget->msg_queue_task_text_start_x -= p_dispwidget->gfx_widget_fonts.msg_queue.glyph_width * 2.0f;
p_dispwidget->gfx_widget_fonts.msg_queue.glyph_width * 2.0f;
p_dispwidget->msg_queue_regular_text_start = p_dispwidget->msg_queue_rect_start_x; p_dispwidget->msg_queue_regular_text_start = p_dispwidget->msg_queue_rect_start_x + (p_dispwidget->simple_widget_padding / 1.5f);
p_dispwidget->msg_queue_task_hourglass_x = p_dispwidget->msg_queue_rect_start_x - p_dispwidget->msg_queue_icon_size_x; p_dispwidget->msg_queue_task_hourglass_x = p_dispwidget->msg_queue_task_rect_start_x + (p_dispwidget->simple_widget_padding / 2.5f);
p_dispwidget->generic_message_height = p_dispwidget->gfx_widget_fonts.regular.line_height * 2.0f; p_dispwidget->generic_message_height = p_dispwidget->gfx_widget_fonts.regular.line_height * 2.0f;
p_dispwidget->msg_queue_default_rect_width_menu_alive = p_dispwidget p_dispwidget->msg_queue_default_rect_width_menu_alive
->gfx_widget_fonts.msg_queue.glyph_width * 40.0f; = p_dispwidget->gfx_widget_fonts.msg_queue.glyph_width * 40.0f;
p_dispwidget->msg_queue_default_rect_width = p_dispwidget->last_video_width p_dispwidget->msg_queue_default_rect_width = p_dispwidget->last_video_width
- p_dispwidget->msg_queue_regular_text_start - (2 * p_dispwidget->simple_widget_padding); - p_dispwidget->msg_queue_regular_text_start - (2 * p_dispwidget->simple_widget_padding);
p_dispwidget->divider_width_1px = 1; p_dispwidget->divider_width_1px = 1;
if (p_dispwidget->last_scale_factor > 1.0f) if (p_dispwidget->last_scale_factor > 1.0f)
p_dispwidget->divider_width_1px = (unsigned)(p_dispwidget->last_scale_factor + 0.5f); p_dispwidget->divider_width_1px = (unsigned)(p_dispwidget->last_scale_factor + 0.5f);
for (i = 0; i < ARRAY_SIZE(widgets); i++) for (i = 0; i < ARRAY_SIZE(widgets); i++)
{ {
@ -919,7 +921,6 @@ static void gfx_widgets_layout(
} }
} }
void gfx_widgets_iterate( void gfx_widgets_iterate(
void *data_disp, void *data_disp,
void *settings_data, void *settings_data,
@ -1162,15 +1163,19 @@ static void gfx_widgets_draw_task_msg(
unsigned video_height) unsigned video_height)
{ {
/* Color of first progress bar in a task message */ /* Color of first progress bar in a task message */
static float msg_queue_task_progress_1[16] = static float msg_queue_task_progress_1[16] = COLOR_HEX_TO_FLOAT(0x1A1A1A, 1.0f);
COLOR_HEX_TO_FLOAT(0x397869, 1.0f);
/* Color of second progress bar in a task message /* Color of second progress bar in a task message
* (for multiple tasks with same message) */ * (for multiple tasks with same message) */
static float msg_queue_task_progress_2[16] = static float msg_queue_task_progress_2[16] = COLOR_HEX_TO_FLOAT(0x1D5B1D, 1.0f);
COLOR_HEX_TO_FLOAT(0x317198, 1.0f); /* Margin bar */
static float msg_queue_bar[16] = COLOR_HEX_TO_FLOAT(0xCCCCCC, 1.0f);
/* Bright green icon */
static float msg_queue_task_done[16] = COLOR_HEX_TO_FLOAT(0x00C80A, 1.0f);
unsigned text_color; unsigned text_color;
unsigned bar_width; unsigned bar_width;
unsigned rect_margin;
unsigned rect_x; unsigned rect_x;
unsigned rect_y; unsigned rect_y;
unsigned rect_width; unsigned rect_width;
@ -1194,6 +1199,7 @@ static void gfx_widgets_draw_task_msg(
if (msg->flags & DISPWIDG_FLAG_TASK_FINISHED) if (msg->flags & DISPWIDG_FLAG_TASK_FINISHED)
{ {
task_percentage_offset = p_dispwidget->simple_widget_padding * 2.0f;
if (msg->flags & DISPWIDG_FLAG_TASK_ERROR) /* TODO/FIXME - localize */ if (msg->flags & DISPWIDG_FLAG_TASK_ERROR) /* TODO/FIXME - localize */
strlcpy(task_percentage, "Task failed", sizeof(task_percentage)); strlcpy(task_percentage, "Task failed", sizeof(task_percentage));
} }
@ -1215,20 +1221,33 @@ static void gfx_widgets_draw_task_msg(
msg_queue_current_background = msg_queue_task_progress_2; msg_queue_current_background = msg_queue_task_progress_2;
else else
if (msg->task_count == 1) if (msg->task_count == 1)
msg_queue_current_background = p_dispwidget->msg_queue_bg; msg_queue_current_background = msg_queue_task_progress_1;
else else
msg_queue_current_background = msg_queue_task_progress_1; msg_queue_current_background = msg_queue_task_progress_1;
rect_x = p_dispwidget->msg_queue_rect_start_x - p_dispwidget->msg_queue_icon_size_x; rect_x = p_dispwidget->msg_queue_rect_start_x - p_dispwidget->msg_queue_icon_size_x;
rect_y = video_height - msg->offset_y; rect_y = video_height - msg->offset_y;
rect_height = p_dispwidget->msg_queue_height / 2; rect_height = p_dispwidget->msg_queue_height / 2;
rect_margin = p_dispwidget->simple_widget_padding * 0.15f;
gfx_display_set_alpha(msg_queue_bar, msg->alpha);
gfx_display_draw_quad(
p_disp,
userdata,
video_width, video_height,
rect_x, rect_y,
rect_margin, rect_height,
video_width, video_height,
msg_queue_bar,
NULL
);
gfx_display_set_alpha(msg_queue_current_background, msg->alpha); gfx_display_set_alpha(msg_queue_current_background, msg->alpha);
gfx_display_draw_quad( gfx_display_draw_quad(
p_disp, p_disp,
userdata, userdata,
video_width, video_height, video_width, video_height,
rect_x, rect_y, rect_x + rect_margin, rect_y,
rect_width, rect_height, rect_width, rect_height,
video_width, video_height, video_width, video_height,
msg_queue_current_background, msg_queue_current_background,
@ -1250,7 +1269,8 @@ static void gfx_widgets_draw_task_msg(
p_disp, p_disp,
userdata, userdata,
video_width, video_height, video_width, video_height,
p_dispwidget->msg_queue_task_rect_start_x, video_height - msg->offset_y, p_dispwidget->msg_queue_task_rect_start_x + rect_margin,
video_height - msg->offset_y,
bar_width, rect_height, bar_width, rect_height,
video_width, video_height, video_width, video_height,
msg_queue_current_bar, msg_queue_current_bar,
@ -1260,6 +1280,7 @@ static void gfx_widgets_draw_task_msg(
/* Icon */ /* Icon */
gfx_display_set_alpha(p_dispwidget->pure_white, msg->alpha); gfx_display_set_alpha(p_dispwidget->pure_white, msg->alpha);
gfx_display_set_alpha(msg_queue_task_done, msg->alpha);
if (dispctx && dispctx->blend_begin) if (dispctx && dispctx->blend_begin)
dispctx->blend_begin(userdata); dispctx->blend_begin(userdata);
{ {
@ -1277,14 +1298,14 @@ static void gfx_widgets_draw_task_msg(
p_dispwidget->msg_queue_height / 2, p_dispwidget->msg_queue_height / 2,
p_dispwidget->gfx_widgets_icons_textures[ p_dispwidget->gfx_widgets_icons_textures[
(msg->flags & DISPWIDG_FLAG_TASK_FINISHED) (msg->flags & DISPWIDG_FLAG_TASK_FINISHED)
? MENU_WIDGETS_ICON_CHECK ? MENU_WIDGETS_ICON_CHECK : MENU_WIDGETS_ICON_HOURGLASS],
: MENU_WIDGETS_ICON_HOURGLASS],
p_dispwidget->msg_queue_task_hourglass_x, p_dispwidget->msg_queue_task_hourglass_x,
video_height - msg->offset_y, video_height - msg->offset_y,
radians, radians,
cosine, cosine,
sine, sine,
p_dispwidget->pure_white); (msg->flags & DISPWIDG_FLAG_TASK_FINISHED)
? msg_queue_task_done : p_dispwidget->pure_white);
} }
if (dispctx && dispctx->blend_end) if (dispctx && dispctx->blend_end)
dispctx->blend_end(userdata); dispctx->blend_end(userdata);
@ -1308,9 +1329,7 @@ static void gfx_widgets_draw_task_msg(
gfx_widgets_draw_text(&p_dispwidget->gfx_widget_fonts.msg_queue, gfx_widgets_draw_text(&p_dispwidget->gfx_widget_fonts.msg_queue,
msg->msg_new, msg->msg_new,
p_dispwidget->msg_queue_task_text_start_x, p_dispwidget->msg_queue_task_text_start_x,
text_y_base text_y_base - p_dispwidget->msg_queue_height / 2.0f + msg->msg_transition_animation,
- p_dispwidget->msg_queue_height / 2.0f
+ msg->msg_transition_animation,
video_width, video_height, video_width, video_height,
text_color, text_color,
TEXT_ALIGN_LEFT, TEXT_ALIGN_LEFT,
@ -1339,8 +1358,8 @@ static void gfx_widgets_draw_task_msg(
text_color = COLOR_TEXT_ALPHA(0xFFFFFF00, (unsigned)(msg->alpha/2*255.0f)); text_color = COLOR_TEXT_ALPHA(0xFFFFFF00, (unsigned)(msg->alpha/2*255.0f));
gfx_widgets_draw_text(&p_dispwidget->gfx_widget_fonts.msg_queue, gfx_widgets_draw_text(&p_dispwidget->gfx_widget_fonts.msg_queue,
task_percentage, task_percentage,
p_dispwidget->msg_queue_rect_start_x - p_dispwidget->msg_queue_icon_size_x + rect_width - p_dispwidget->msg_queue_rect_start_x - p_dispwidget->msg_queue_icon_size_x
p_dispwidget->gfx_widget_fonts.msg_queue.glyph_width, + rect_width - p_dispwidget->gfx_widget_fonts.msg_queue.glyph_width,
text_y_base, text_y_base,
video_width, video_height, video_width, video_height,
text_color, text_color,
@ -1357,10 +1376,10 @@ static void gfx_widgets_draw_regular_msg(
unsigned video_width, unsigned video_width,
unsigned video_height) unsigned video_height)
{ {
static float msg_queue_info[16] = COLOR_HEX_TO_FLOAT(0x12ACF8, 1.0f); static float msg_queue_info[16] = COLOR_HEX_TO_FLOAT(0x0C99D6, 1.0f);
static float msg_queue_bar[16] = COLOR_HEX_TO_FLOAT(0xDDDDDD, 1.0f); static float msg_queue_bar[16] = COLOR_HEX_TO_FLOAT(0xCCCCCC, 1.0f);
unsigned bar_width; unsigned rect_width;
unsigned bar_margin; unsigned rect_margin;
unsigned text_color; unsigned text_color;
static float last_alpha = 0.0f; static float last_alpha = 0.0f;
@ -1396,17 +1415,18 @@ static void gfx_widgets_draw_regular_msg(
} }
/* Background */ /* Background */
bar_width = p_dispwidget->simple_widget_padding + msg->width + p_dispwidget->msg_queue_icon_size_x; rect_width = p_dispwidget->simple_widget_padding + msg->width + p_dispwidget->msg_queue_icon_size_x;
bar_margin = p_dispwidget->simple_widget_padding * 0.15f; rect_margin = p_dispwidget->simple_widget_padding * 0.15f;
gfx_display_set_alpha(msg_queue_bar, msg->alpha);
gfx_display_draw_quad( gfx_display_draw_quad(
p_disp, p_disp,
userdata, userdata,
video_width, video_width,
video_height, video_height,
p_dispwidget->msg_queue_rect_start_x - p_dispwidget->msg_queue_icon_size_x, p_dispwidget->msg_queue_rect_start_x - p_dispwidget->msg_queue_icon_size_x + rect_margin,
video_height - msg->offset_y, video_height - msg->offset_y,
bar_width - bar_margin, rect_width - rect_margin,
p_dispwidget->msg_queue_height, p_dispwidget->msg_queue_height,
video_width, video_width,
video_height, video_height,
@ -1419,9 +1439,9 @@ static void gfx_widgets_draw_regular_msg(
userdata, userdata,
video_width, video_width,
video_height, video_height,
p_dispwidget->msg_queue_rect_start_x - p_dispwidget->msg_queue_icon_size_x - bar_margin, p_dispwidget->msg_queue_rect_start_x - p_dispwidget->msg_queue_icon_size_x,
video_height - msg->offset_y, video_height - msg->offset_y,
bar_margin, rect_margin,
p_dispwidget->msg_queue_height, p_dispwidget->msg_queue_height,
video_width, video_width,
video_height, video_height,
@ -1435,7 +1455,9 @@ static void gfx_widgets_draw_regular_msg(
gfx_widgets_draw_text(&p_dispwidget->gfx_widget_fonts.msg_queue, gfx_widgets_draw_text(&p_dispwidget->gfx_widget_fonts.msg_queue,
msg->msg, msg->msg,
p_dispwidget->msg_queue_regular_text_start, p_dispwidget->msg_queue_regular_text_start,
video_height - msg->offset_y + (p_dispwidget->msg_queue_height - msg->text_height)/2.0f + p_dispwidget->gfx_widget_fonts.msg_queue.line_ascender, video_height - msg->offset_y
+ (p_dispwidget->msg_queue_height - msg->text_height) / 2.0f
+ p_dispwidget->gfx_widget_fonts.msg_queue.line_ascender,
video_width, video_height, video_width, video_height,
text_color, text_color,
TEXT_ALIGN_LEFT, TEXT_ALIGN_LEFT,
@ -1449,8 +1471,7 @@ static void gfx_widgets_draw_regular_msg(
gfx_widgets_flush_text(video_width, video_height, &p_dispwidget->gfx_widget_fonts.msg_queue); gfx_widgets_flush_text(video_width, video_height, &p_dispwidget->gfx_widget_fonts.msg_queue);
if (dispctx && dispctx->scissor_end) if (dispctx && dispctx->scissor_end)
dispctx->scissor_end(userdata, dispctx->scissor_end(userdata, video_width, video_height);
video_width, video_height);
} }
if (p_dispwidget->flags & DISPGFX_WIDGET_FLAG_MSG_QUEUE_HAS_ICONS) if (p_dispwidget->flags & DISPGFX_WIDGET_FLAG_MSG_QUEUE_HAS_ICONS)
@ -1466,8 +1487,9 @@ static void gfx_widgets_draw_regular_msg(
p_dispwidget->msg_queue_icon_size_x, p_dispwidget->msg_queue_icon_size_x,
p_dispwidget->msg_queue_icon_size_y, p_dispwidget->msg_queue_icon_size_y,
p_dispwidget->gfx_widgets_icons_textures[MENU_WIDGETS_ICON_INFO], p_dispwidget->gfx_widgets_icons_textures[MENU_WIDGETS_ICON_INFO],
p_dispwidget->msg_queue_spacing, p_dispwidget->msg_queue_rect_start_x
video_height - msg->offset_y - p_dispwidget->msg_queue_icon_offset_y, - p_dispwidget->msg_queue_icon_size_x + (p_dispwidget->simple_widget_padding / 2.0f),
video_height - msg->offset_y - p_dispwidget->msg_queue_icon_offset_y,
0.0f, /* rad */ 0.0f, /* rad */
1.0f, /* cos(rad) = cos(0) = 1.0f */ 1.0f, /* cos(rad) = cos(0) = 1.0f */
0.0f, /* sine(rad) = sine(0) = 0.0f */ 0.0f, /* sine(rad) = sine(0) = 0.0f */

View File

@ -84,7 +84,7 @@ static gfx_widget_libretro_message_state_t p_w_libretro_message_st = {
0.0f, /* text_y_end */ 0.0f, /* text_y_end */
0.0f, /* alpha */ 0.0f, /* alpha */
COLOR_HEX_TO_FLOAT(0x909090, 1.0f), /* frame_color */ COLOR_HEX_TO_FLOAT(0x1A1A1A, 1.0f), /* frame_color */
0, /* message_len */ 0, /* message_len */
@ -224,10 +224,11 @@ static void gfx_widget_libretro_message_layout(
state->text_padding = (unsigned)(((float)font_msg_queue->line_height * (2.0f / 3.0f)) + 0.5f); state->text_padding = (unsigned)(((float)font_msg_queue->line_height * (2.0f / 3.0f)) + 0.5f);
state->frame_width = divider_width; state->frame_width = divider_width;
state->bg_x = 0.0f; /* X-alignment with other widget types */
state->bg_x = (float)state->text_padding * 1.44f;
state->bg_y_start = (float)last_video_height + (float)state->frame_width; state->bg_y_start = (float)last_video_height + (float)state->frame_width;
state->bg_y_end = (float)last_video_height - (float)state->bg_height; state->bg_y_end = (float)last_video_height - (float)state->bg_height;
state->text_x = (float)state->text_padding; state->text_x = state->bg_x + (float)state->text_padding;
state->text_y_start = state->bg_y_start + ((float)state->bg_height * 0.5f) + state->text_y_start = state->bg_y_start + ((float)state->bg_height * 0.5f) +
(float)font_msg_queue->line_centre_offset; (float)font_msg_queue->line_centre_offset;
state->text_y_end = state->bg_y_end + ((float)state->bg_height * 0.5f) + state->text_y_end = state->bg_y_end + ((float)state->bg_height * 0.5f) +
@ -419,6 +420,20 @@ static void gfx_widget_libretro_message_frame(void *data, void *user_data)
NULL); NULL);
/* Frame */ /* Frame */
gfx_display_draw_quad(
p_disp,
userdata,
video_width,
video_height,
state->bg_x,
bg_y,
state->frame_width,
state->bg_height,
video_width,
video_height,
state->frame_color,
NULL);
gfx_display_draw_quad( gfx_display_draw_quad(
p_disp, p_disp,
userdata, userdata,