mirror of
https://github.com/libretro/RetroArch
synced 2025-02-09 09:39:56 +00:00
Revert "(drivers_font) Cut down on unnecessary strlen calls within a for loop"
This reverts commit 3e9d0b875835dba8452d18cf36bc0f9e4e46517a.
This commit is contained in:
parent
5fc63dc578
commit
9cb4d924cb
@ -89,7 +89,6 @@ static void caca_render_msg(
|
||||
settings_t *settings = config_get_ptr();
|
||||
float video_msg_pos_x = settings->floats.video_msg_pos_x;
|
||||
float video_msg_pos_y = settings->floats.video_msg_pos_y;
|
||||
size_t _msg_len = strlen(msg);
|
||||
|
||||
if (!font || string_is_empty(msg))
|
||||
return;
|
||||
@ -120,10 +119,10 @@ static void caca_render_msg(
|
||||
switch (align)
|
||||
{
|
||||
case TEXT_ALIGN_RIGHT:
|
||||
newX = (x * width * scale) - _msg_len;
|
||||
newX = (x * width * scale) - strlen(msg);
|
||||
break;
|
||||
case TEXT_ALIGN_CENTER:
|
||||
newX = (x * width * scale) - (_msg_len / 2);
|
||||
newX = (x * width * scale) - (strlen(msg) / 2);
|
||||
break;
|
||||
case TEXT_ALIGN_LEFT:
|
||||
default:
|
||||
|
@ -312,10 +312,9 @@ static void ctr_font_render_message(
|
||||
const unsigned int color, float pos_x, float pos_y,
|
||||
unsigned width, unsigned height, unsigned text_align)
|
||||
{
|
||||
float line_height;
|
||||
struct font_line_metrics *line_metrics = NULL;
|
||||
int lines = 0;
|
||||
size_t _msg_len = strlen(msg);
|
||||
float line_height;
|
||||
|
||||
if (!msg || !*msg)
|
||||
return;
|
||||
@ -324,7 +323,7 @@ static void ctr_font_render_message(
|
||||
if (!font->font_driver->get_line_metrics ||
|
||||
!font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
||||
{
|
||||
ctr_font_render_line(ctr, font, msg, (unsigned)_msg_len,
|
||||
ctr_font_render_line(ctr, font, msg, strlen(msg),
|
||||
scale, color, pos_x, pos_y,
|
||||
width, height, text_align);
|
||||
return;
|
||||
@ -348,7 +347,7 @@ static void ctr_font_render_message(
|
||||
}
|
||||
else
|
||||
{
|
||||
unsigned msg_len = (unsigned)_msg_len;
|
||||
unsigned msg_len = strlen(msg);
|
||||
ctr_font_render_line(ctr, font, msg, msg_len,
|
||||
scale, color, pos_x, pos_y - (float)lines * line_height,
|
||||
width, height, text_align);
|
||||
|
@ -237,22 +237,19 @@ static void d3d10_font_render_message(
|
||||
unsigned height,
|
||||
unsigned text_align)
|
||||
{
|
||||
float line_height;
|
||||
struct font_line_metrics *line_metrics = NULL;
|
||||
int lines = 0;
|
||||
size_t _msg_len = 0;
|
||||
|
||||
float line_height;
|
||||
|
||||
if (!msg || !*msg)
|
||||
return;
|
||||
|
||||
_msg_len = strlen(msg);
|
||||
|
||||
/* If font line metrics are not supported just draw as usual */
|
||||
if (!font->font_driver->get_line_metrics ||
|
||||
!font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
||||
{
|
||||
d3d10_font_render_line(d3d10,
|
||||
font, msg, (unsigned)_msg_len, scale, color, pos_x, pos_y,
|
||||
font, msg, strlen(msg), scale, color, pos_x, pos_y,
|
||||
width, height, text_align);
|
||||
return;
|
||||
}
|
||||
@ -276,7 +273,7 @@ static void d3d10_font_render_message(
|
||||
}
|
||||
else
|
||||
{
|
||||
unsigned msg_len = (unsigned)_msg_len;
|
||||
unsigned msg_len = strlen(msg);
|
||||
d3d10_font_render_line(d3d10,
|
||||
font, msg, msg_len, scale, color, pos_x,
|
||||
pos_y - (float)lines * line_height,
|
||||
|
@ -234,22 +234,19 @@ static void d3d11_font_render_message(
|
||||
unsigned height,
|
||||
unsigned text_align)
|
||||
{
|
||||
float line_height;
|
||||
struct font_line_metrics *line_metrics = NULL;
|
||||
int lines = 0;
|
||||
size_t _msg_len = 0;
|
||||
float line_height;
|
||||
|
||||
if (!msg || !*msg)
|
||||
return;
|
||||
|
||||
_msg_len = strlen(msg);
|
||||
|
||||
/* If font line metrics are not supported just draw as usual */
|
||||
if (!font->font_driver->get_line_metrics ||
|
||||
!font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
||||
{
|
||||
d3d11_font_render_line(d3d11,
|
||||
font, msg, (unsigned)_msg_len, scale, color, pos_x, pos_y,
|
||||
font, msg, strlen(msg), scale, color, pos_x, pos_y,
|
||||
width, height, text_align);
|
||||
return;
|
||||
}
|
||||
@ -273,7 +270,7 @@ static void d3d11_font_render_message(
|
||||
}
|
||||
else
|
||||
{
|
||||
unsigned msg_len = (unsigned)_msg_len;
|
||||
unsigned msg_len = strlen(msg);
|
||||
d3d11_font_render_line(d3d11,
|
||||
font, msg, msg_len, scale, color, pos_x,
|
||||
pos_y - (float)lines * line_height,
|
||||
|
@ -248,22 +248,19 @@ static void d3d12_font_render_message(
|
||||
unsigned height,
|
||||
unsigned text_align)
|
||||
{
|
||||
float line_height;
|
||||
struct font_line_metrics *line_metrics = NULL;
|
||||
int lines = 0;
|
||||
size_t _msg_len = 0;
|
||||
float line_height;
|
||||
|
||||
if (!msg || !*msg)
|
||||
return;
|
||||
|
||||
_msg_len = strlen(msg);
|
||||
|
||||
/* If font line metrics are not supported just draw as usual */
|
||||
if (!font->font_driver->get_line_metrics ||
|
||||
!font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
||||
{
|
||||
d3d12_font_render_line(d3d12,
|
||||
font, msg, _msg_len,
|
||||
font, msg, strlen(msg),
|
||||
scale, color, pos_x, pos_y, width, height, text_align);
|
||||
return;
|
||||
}
|
||||
@ -286,7 +283,7 @@ static void d3d12_font_render_message(
|
||||
}
|
||||
else
|
||||
{
|
||||
unsigned msg_len = (unsigned)_msg_len;
|
||||
unsigned msg_len = strlen(msg);
|
||||
d3d12_font_render_line(d3d12,
|
||||
font, msg, msg_len, scale, color, pos_x,
|
||||
pos_y - (float)lines * line_height, width, height, text_align);
|
||||
|
@ -120,7 +120,7 @@ static int d3dfonts_w32_get_message_width(void* data, const char* msg,
|
||||
return 0;
|
||||
|
||||
d3d9x_font_draw_text(d3dfonts->font, NULL, (void*)msg,
|
||||
msg_len ? msg_len : -1, &box, DT_CALCRECT, 0);
|
||||
msg_len? msg_len : -1, &box, DT_CALCRECT, 0);
|
||||
|
||||
return box.right - box.left;
|
||||
}
|
||||
|
@ -90,13 +90,12 @@ static void gdi_render_msg(
|
||||
const struct font_params *params)
|
||||
{
|
||||
float x, y, scale, drop_mod, drop_alpha;
|
||||
int drop_x, drop_y;
|
||||
int drop_x, drop_y, msg_strlen;
|
||||
unsigned i;
|
||||
unsigned newX, newY, newDropX, newDropY;
|
||||
unsigned align;
|
||||
unsigned red, green, blue;
|
||||
unsigned drop_red, drop_green, drop_blue;
|
||||
size_t _msg_len = 0;
|
||||
gdi_t *gdi = (gdi_t*)userdata;
|
||||
gdi_raster_t *font = (gdi_raster_t*)data;
|
||||
unsigned width = gdi->video_width;
|
||||
@ -143,9 +142,9 @@ static void gdi_render_msg(
|
||||
blue = video_msg_color_b * 255.0f;
|
||||
}
|
||||
|
||||
_msg_len = strlen(msg);
|
||||
msg_strlen = strlen(msg);
|
||||
|
||||
GetTextExtentPoint32(font->gdi->memDC, msg, (int)_msg_len, &textSize);
|
||||
GetTextExtentPoint32(font->gdi->memDC, msg, msg_strlen, &textSize);
|
||||
|
||||
switch (align)
|
||||
{
|
||||
@ -167,21 +166,21 @@ static void gdi_render_msg(
|
||||
break;
|
||||
}
|
||||
|
||||
newY = height - (y * height * scale) - textSize.cy;
|
||||
newDropY = height - (drop_y * height * scale) - textSize.cy;
|
||||
newY = height - (y * height * scale) - textSize.cy;
|
||||
newDropY = height - (drop_y * height * scale) - textSize.cy;
|
||||
|
||||
font->gdi->bmp_old = (HBITMAP)SelectObject(font->gdi->memDC, font->gdi->bmp);
|
||||
|
||||
SetBkMode(font->gdi->memDC, TRANSPARENT);
|
||||
|
||||
msg_list = string_split(msg, "\n");
|
||||
msg_list = string_split(msg, "\n");
|
||||
|
||||
if (drop_x || drop_y)
|
||||
{
|
||||
float dark_alpha = drop_alpha;
|
||||
drop_red = red * drop_mod * dark_alpha;
|
||||
drop_green = green * drop_mod * dark_alpha;
|
||||
drop_blue = blue * drop_mod * dark_alpha;
|
||||
drop_red = red * drop_mod * dark_alpha;
|
||||
drop_green = green * drop_mod * dark_alpha;
|
||||
drop_blue = blue * drop_mod * dark_alpha;
|
||||
|
||||
SetTextColor(font->gdi->memDC, RGB(drop_red, drop_green, drop_blue));
|
||||
|
||||
|
@ -382,22 +382,16 @@ static void gl1_raster_font_render_message(
|
||||
const GLfloat color[4], GLfloat pos_x, GLfloat pos_y,
|
||||
unsigned text_align)
|
||||
{
|
||||
float line_height;
|
||||
struct font_line_metrics *line_metrics = NULL;
|
||||
int lines = 0;
|
||||
size_t _msg_len = 0;
|
||||
|
||||
if (!msg || !*msg)
|
||||
return;
|
||||
|
||||
_msg_len = strlen(msg);
|
||||
float line_height;
|
||||
|
||||
/* If font line metrics are not supported just draw as usual */
|
||||
if (!font->font_driver->get_line_metrics ||
|
||||
!font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
||||
{
|
||||
gl1_raster_font_render_line(font,
|
||||
msg, (unsigned)_msg_len, scale, color, pos_x,
|
||||
msg, (unsigned)strlen(msg), scale, color, pos_x,
|
||||
pos_y, text_align);
|
||||
return;
|
||||
}
|
||||
@ -408,7 +402,7 @@ static void gl1_raster_font_render_message(
|
||||
{
|
||||
const char *delim = strchr(msg, '\n');
|
||||
unsigned msg_len = delim
|
||||
? (unsigned)(delim - msg) : (unsigned)_msg_len;
|
||||
? (unsigned)(delim - msg) : (unsigned)strlen(msg);
|
||||
|
||||
/* Draw the line */
|
||||
gl1_raster_font_render_line(font,
|
||||
|
@ -293,22 +293,16 @@ static void gl_core_raster_font_render_message(
|
||||
const GLfloat color[4], GLfloat pos_x, GLfloat pos_y,
|
||||
unsigned text_align)
|
||||
{
|
||||
float line_height;
|
||||
struct font_line_metrics *line_metrics = NULL;
|
||||
int lines = 0;
|
||||
size_t _msg_len = 0;
|
||||
|
||||
if (!msg || !*msg)
|
||||
return;
|
||||
|
||||
_msg_len = strlen(msg);
|
||||
float line_height;
|
||||
|
||||
/* If font line metrics are not supported just draw as usual */
|
||||
if (!font->font_driver->get_line_metrics ||
|
||||
!font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
||||
{
|
||||
gl_core_raster_font_render_line(font,
|
||||
msg, _msg_len, scale, color, pos_x,
|
||||
msg, (unsigned)strlen(msg), scale, color, pos_x,
|
||||
pos_y, text_align);
|
||||
return;
|
||||
}
|
||||
@ -319,7 +313,7 @@ static void gl_core_raster_font_render_message(
|
||||
{
|
||||
const char *delim = strchr(msg, '\n');
|
||||
unsigned msg_len = delim
|
||||
? (unsigned)(delim - msg) : _msg_len;
|
||||
? (unsigned)(delim - msg) : (unsigned)strlen(msg);
|
||||
|
||||
/* Draw the line */
|
||||
gl_core_raster_font_render_line(font,
|
||||
|
@ -362,22 +362,16 @@ static void gl_raster_font_render_message(
|
||||
const GLfloat color[4], GLfloat pos_x, GLfloat pos_y,
|
||||
unsigned text_align)
|
||||
{
|
||||
float line_height;
|
||||
struct font_line_metrics *line_metrics = NULL;
|
||||
int lines = 0;
|
||||
size_t _msg_len = 0;
|
||||
|
||||
if (!msg || !*msg)
|
||||
return;
|
||||
|
||||
_msg_len = strlen(msg);
|
||||
float line_height;
|
||||
|
||||
/* If font line metrics are not supported just draw as usual */
|
||||
if (!font->font_driver->get_line_metrics ||
|
||||
!font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
||||
{
|
||||
gl_raster_font_render_line(font,
|
||||
msg, (unsigned)_msg_len, scale, color, pos_x,
|
||||
msg, (unsigned)strlen(msg), scale, color, pos_x,
|
||||
pos_y, text_align);
|
||||
return;
|
||||
}
|
||||
@ -388,7 +382,7 @@ static void gl_raster_font_render_message(
|
||||
{
|
||||
const char *delim = strchr(msg, '\n');
|
||||
unsigned msg_len = delim
|
||||
? (unsigned)(delim - msg) : (unsigned)_msg_len;
|
||||
? (unsigned)(delim - msg) : (unsigned)strlen(msg);
|
||||
|
||||
/* Draw the line */
|
||||
gl_raster_font_render_line(font,
|
||||
|
@ -350,25 +350,18 @@ static INLINE void write_quad6(SpriteVertex *pv,
|
||||
posY:(float)posY
|
||||
aligned:(unsigned)aligned
|
||||
{
|
||||
float line_height;
|
||||
int lines = 0;
|
||||
struct font_line_metrics *line_metrics = NULL;
|
||||
size_t _msg_len = 0;
|
||||
|
||||
if (!msg || !*msg)
|
||||
return;
|
||||
|
||||
_msg_len = strlen(msg);
|
||||
|
||||
/* If font line metrics are not supported just draw as usual */
|
||||
if (!_font_driver->get_line_metrics ||
|
||||
!_font_driver->get_line_metrics(_font_data, &line_metrics))
|
||||
{
|
||||
[self _renderLine:msg length:(unsigned)_msg_len scale:scale color:color posX:posX posY:posY aligned:aligned];
|
||||
[self _renderLine:msg length:strlen(msg) scale:scale color:color posX:posX posY:posY aligned:aligned];
|
||||
return;
|
||||
}
|
||||
|
||||
line_height = line_metrics->height * scale / height;
|
||||
int lines = 0;
|
||||
float line_height = line_metrics->height * scale / height;
|
||||
|
||||
for (;;)
|
||||
{
|
||||
@ -390,7 +383,7 @@ static INLINE void write_quad6(SpriteVertex *pv,
|
||||
}
|
||||
else
|
||||
{
|
||||
NSUInteger msg_len = (NSUInteger)_msg_len;
|
||||
NSUInteger msg_len = strlen(msg);
|
||||
[self _renderLine:msg
|
||||
length:msg_len
|
||||
scale:scale
|
||||
|
@ -83,20 +83,17 @@ static void sixel_render_msg(
|
||||
{
|
||||
float x, y, scale;
|
||||
unsigned width, height;
|
||||
unsigned new_x, new_y;
|
||||
unsigned newX, newY;
|
||||
unsigned align;
|
||||
sixel_raster_t *font = (sixel_raster_t*)data;
|
||||
const struct font_params *params = (const struct font_params*)_params;
|
||||
settings_t *settings = config_get_ptr();
|
||||
float video_msg_pos_x = settings->floats.video_msg_pos_x;
|
||||
float video_msg_pos_y = settings->floats.video_msg_pos_y;
|
||||
size_t _msg_len = 0;
|
||||
|
||||
|
||||
if (!font || string_is_empty(msg))
|
||||
return;
|
||||
|
||||
_msg_len = strlen(msg);
|
||||
|
||||
if (params)
|
||||
{
|
||||
x = params->x;
|
||||
@ -117,19 +114,19 @@ static void sixel_render_msg(
|
||||
|
||||
width = font->sixel->screen_width;
|
||||
height = font->sixel->screen_height;
|
||||
new_y = height - (y * height * scale);
|
||||
newY = height - (y * height * scale);
|
||||
|
||||
switch (align)
|
||||
{
|
||||
case TEXT_ALIGN_RIGHT:
|
||||
new_x = (x * width * scale) - _msg_len;
|
||||
newX = (x * width * scale) - strlen(msg);
|
||||
break;
|
||||
case TEXT_ALIGN_CENTER:
|
||||
new_x = (x * width * scale) - (_msg_len / 2);
|
||||
newX = (x * width * scale) - (strlen(msg) / 2);
|
||||
break;
|
||||
case TEXT_ALIGN_LEFT:
|
||||
default:
|
||||
new_x = x * width * scale;
|
||||
newX = x * width * scale;
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -193,24 +193,22 @@ static void switch_font_render_message(
|
||||
const unsigned int color, float pos_x, float pos_y,
|
||||
unsigned text_align)
|
||||
{
|
||||
float line_height;
|
||||
struct font_line_metrics *line_metrics = NULL;
|
||||
int lines = 0;
|
||||
size_t _msg_len = 0;
|
||||
|
||||
float line_height;
|
||||
|
||||
if (!msg || !*msg)
|
||||
return;
|
||||
|
||||
_msg_len = strlen(msg);
|
||||
|
||||
/* If font line metrics are not supported just draw as usual */
|
||||
if (!font->font_driver->get_line_metrics ||
|
||||
!font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
||||
{
|
||||
if (_msg_len <= AVG_GLPYH_LIMIT)
|
||||
int msgLen = strlen(msg);
|
||||
if (msgLen <= AVG_GLPYH_LIMIT)
|
||||
{
|
||||
if (sw)
|
||||
switch_font_render_line(sw, font, msg, (unsigned)_msg_len,
|
||||
switch_font_render_line(sw, font, msg, strlen(msg),
|
||||
scale, color, pos_x, pos_y, text_align);
|
||||
}
|
||||
return;
|
||||
@ -237,10 +235,11 @@ static void switch_font_render_message(
|
||||
}
|
||||
else
|
||||
{
|
||||
if (_msg_len <= AVG_GLPYH_LIMIT)
|
||||
unsigned msg_len = strlen(msg);
|
||||
if (msg_len <= AVG_GLPYH_LIMIT)
|
||||
{
|
||||
if (sw)
|
||||
switch_font_render_line(sw, font, msg, (unsigned)_msg_len,
|
||||
switch_font_render_line(sw, font, msg, msg_len,
|
||||
scale, color, pos_x, pos_y - (float)lines * line_height,
|
||||
text_align);
|
||||
}
|
||||
|
@ -89,13 +89,10 @@ static void vga_render_msg(
|
||||
settings_t *settings = config_get_ptr();
|
||||
float video_msg_pos_x = settings->floats.video_msg_pos_x;
|
||||
float video_msg_pos_y = settings->floats.video_msg_pos_y;
|
||||
size_t _msg_len = 0;
|
||||
|
||||
if (!font || string_is_empty(msg))
|
||||
return;
|
||||
|
||||
_msg_len = strlen(msg);
|
||||
|
||||
if (params)
|
||||
{
|
||||
x = params->x;
|
||||
@ -124,10 +121,10 @@ static void vga_render_msg(
|
||||
new_x = x * width * scale;
|
||||
break;
|
||||
case TEXT_ALIGN_RIGHT:
|
||||
new_x = (x * width * scale) - _msg_len;
|
||||
new_x = (x * width * scale) - strlen(msg);
|
||||
break;
|
||||
case TEXT_ALIGN_CENTER:
|
||||
new_x = (x * width * scale) - (_msg_len / 2);
|
||||
new_x = (x * width * scale) - (strlen(msg) / 2);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -225,21 +225,18 @@ static void vita2d_font_render_message(
|
||||
const unsigned int color, float pos_x, float pos_y,
|
||||
unsigned width, unsigned height, unsigned text_align)
|
||||
{
|
||||
float line_height;
|
||||
struct font_line_metrics *line_metrics = NULL;
|
||||
int lines = 0;
|
||||
size_t _msg_len = 0;
|
||||
float line_height;
|
||||
|
||||
if (!msg || !*msg)
|
||||
return;
|
||||
|
||||
_msg_len = strlen(msg);
|
||||
|
||||
/* If font line metrics are not supported just draw as usual */
|
||||
if (!font->font_driver->get_line_metrics ||
|
||||
!font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
||||
{
|
||||
vita2d_font_render_line(font, msg, (unsigned)_msg_len,
|
||||
vita2d_font_render_line(font, msg, strlen(msg),
|
||||
scale, color, pos_x, pos_y, width, height, text_align);
|
||||
return;
|
||||
}
|
||||
@ -249,7 +246,7 @@ static void vita2d_font_render_message(
|
||||
for (;;)
|
||||
{
|
||||
const char *delim = strchr(msg, '\n');
|
||||
unsigned msg_len = (delim) ? (delim - msg) : (unsigned)_msg_len;
|
||||
unsigned msg_len = (delim) ? (delim - msg) : strlen(msg);
|
||||
|
||||
vita2d_font_render_line(font, msg, msg_len,
|
||||
scale, color, pos_x, pos_y - (float)lines * line_height,
|
||||
|
@ -233,22 +233,19 @@ static void vulkan_raster_font_render_message(
|
||||
const float color[4], float pos_x, float pos_y,
|
||||
unsigned text_align)
|
||||
{
|
||||
float line_height;
|
||||
struct font_line_metrics *line_metrics = NULL;
|
||||
int lines = 0;
|
||||
size_t _msg_len = 0;
|
||||
float line_height;
|
||||
|
||||
if (!msg || !*msg || !font->vk)
|
||||
return;
|
||||
|
||||
_msg_len = strlen(msg);
|
||||
|
||||
/* If font line metrics are not supported just draw as usual */
|
||||
if (!font->font_driver->get_line_metrics ||
|
||||
!font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
||||
{
|
||||
if (font->vk)
|
||||
vulkan_raster_font_render_line(font, msg, (unsigned)_msg_len,
|
||||
vulkan_raster_font_render_line(font, msg, strlen(msg),
|
||||
scale, color, pos_x, pos_y, text_align);
|
||||
return;
|
||||
}
|
||||
@ -272,7 +269,7 @@ static void vulkan_raster_font_render_message(
|
||||
}
|
||||
else
|
||||
{
|
||||
unsigned msg_len = _msg_len;
|
||||
unsigned msg_len = strlen(msg);
|
||||
if (font->vk)
|
||||
vulkan_raster_font_render_line(font, msg, msg_len,
|
||||
scale, color, pos_x, pos_y - (float)lines * line_height,
|
||||
|
@ -109,7 +109,7 @@ static void wiiu_font_free_font(void* data, bool is_threaded)
|
||||
}
|
||||
|
||||
static int wiiu_font_get_message_width(void* data, const char* msg,
|
||||
unsigned msg_len, float scale)
|
||||
unsigned msg_len, float scale)
|
||||
{
|
||||
wiiu_font_t* font = (wiiu_font_t*)data;
|
||||
|
||||
@ -150,9 +150,7 @@ static void wiiu_font_render_line(
|
||||
float pos_y,
|
||||
unsigned width, unsigned height, unsigned text_align)
|
||||
{
|
||||
int count;
|
||||
unsigned i;
|
||||
sprite_vertex_t *v = NULL;
|
||||
int x = roundf(pos_x * width);
|
||||
int y = roundf((1.0 - pos_y) * height);
|
||||
|
||||
@ -171,7 +169,7 @@ static void wiiu_font_render_line(
|
||||
break;
|
||||
}
|
||||
|
||||
v = wiiu->vertex_cache.v + wiiu->vertex_cache.current;
|
||||
sprite_vertex_t* v = wiiu->vertex_cache.v + wiiu->vertex_cache.current;
|
||||
|
||||
for (i = 0; i < msg_len; i++)
|
||||
{
|
||||
@ -209,7 +207,7 @@ static void wiiu_font_render_line(
|
||||
y += glyph->advance_y * scale;
|
||||
}
|
||||
|
||||
count = v - wiiu->vertex_cache.v - wiiu->vertex_cache.current;
|
||||
int count = v - wiiu->vertex_cache.v - wiiu->vertex_cache.current;
|
||||
|
||||
if (!count)
|
||||
return;
|
||||
@ -243,21 +241,18 @@ static void wiiu_font_render_message(
|
||||
const unsigned int color, float pos_x, float pos_y,
|
||||
unsigned width, unsigned height, unsigned text_align)
|
||||
{
|
||||
float line_height;
|
||||
struct font_line_metrics *line_metrics = NULL;
|
||||
int lines = 0;
|
||||
size_t _msg_len = 0;
|
||||
float line_height;
|
||||
|
||||
if (!msg || !*msg)
|
||||
return;
|
||||
|
||||
_msg_len = strlen(msg);
|
||||
|
||||
/* If font line metrics are not supported just draw as usual */
|
||||
if (!font->font_driver->get_line_metrics ||
|
||||
!font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
||||
{
|
||||
wiiu_font_render_line(wiiu, font, msg, (unsigned)_msg_len,
|
||||
wiiu_font_render_line(wiiu, font, msg, strlen(msg),
|
||||
scale, color, pos_x, pos_y,
|
||||
width, height, text_align);
|
||||
return;
|
||||
@ -281,7 +276,7 @@ static void wiiu_font_render_message(
|
||||
}
|
||||
else
|
||||
{
|
||||
unsigned msg_len = (unsigned)_msg_len;
|
||||
unsigned msg_len = strlen(msg);
|
||||
wiiu_font_render_line(wiiu, font, msg, msg_len,
|
||||
scale, color, pos_x, pos_y - (float)lines * line_height,
|
||||
width, height, text_align);
|
||||
|
Loading…
x
Reference in New Issue
Block a user