Adding gl_get_message_width to gl_raster_font

This commit is contained in:
natinusala 2015-05-16 16:38:13 +02:00
parent efd3f7cc58
commit 197a505e4c

View File

@ -126,8 +126,12 @@ static void gl_raster_font_free_font(void *data)
free(font); free(font);
} }
static int get_message_width(gl_raster_t *font, const char *msg, float scale) static int gl_get_message_width(void *data, const char *msg, float scale)
{ {
gl_raster_t *font = (gl_raster_t*)data;
if (!font)
return 0;
unsigned i; unsigned i;
unsigned msg_len_full = strlen(msg); unsigned msg_len_full = strlen(msg);
unsigned msg_len = min(msg_len_full, MAX_MSG_LEN_CHUNK); unsigned msg_len = min(msg_len_full, MAX_MSG_LEN_CHUNK);
@ -194,10 +198,10 @@ static void gl_raster_font_render_message(
switch (text_align) switch (text_align)
{ {
case TEXT_ALIGN_RIGHT: case TEXT_ALIGN_RIGHT:
x -= get_message_width(font, msg, scale); x -= gl_get_message_width(font, msg, scale);
break; break;
case TEXT_ALIGN_CENTER: case TEXT_ALIGN_CENTER:
x -= get_message_width(font, msg, scale) / 2.0; x -= gl_get_message_width(font, msg, scale) / 2.0;
break; break;
} }
@ -408,5 +412,5 @@ font_renderer_t gl_raster_font = {
gl_raster_font_get_glyph, gl_raster_font_get_glyph,
gl_raster_font_bind_block, gl_raster_font_bind_block,
gl_raster_font_flush_block, gl_raster_font_flush_block,
NULL /* get_message_width */ gl_get_message_width
}; };