mirror of
https://github.com/libretro/RetroArch
synced 2025-04-11 00:44:20 +00:00
Widget position+size+color adjustments (#16284)
This commit is contained in:
parent
5c6643c4a8
commit
8342b3cebe
@ -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 */
|
||||||
|
@ -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,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user