Create font_driver_get_message_width

This commit is contained in:
twinaphex 2015-12-05 12:17:58 +01:00
parent df813ad58b
commit 78fef6422b
4 changed files with 14 additions and 4 deletions

View File

@ -242,6 +242,16 @@ void font_driver_flush(void *data)
font_ctx->flush(data);
}
int font_driver_get_message_width(void *data, const char *msg, unsigned len, float scale)
{
driver_t *driver = driver_get_ptr();
const font_renderer_t *font_ctx = driver->font_osd_driver;
if (!font_ctx || !font_ctx->get_message_width)
return -1;
return font_ctx->get_message_width(data, msg, len, scale);
}
void font_driver_free(void *data)
{
driver_t *driver = driver_get_ptr();

View File

@ -140,6 +140,8 @@ void font_driver_render_msg(void *data, const char *msg, const struct font_param
void font_driver_bind_block(void *font_data, void *block);
int font_driver_get_message_width(void *data, const char *msg, unsigned len, float scale);
void font_driver_flush(void *data);
void font_driver_free(void *data);

View File

@ -960,8 +960,7 @@ static void mui_layout(menu_handle_t *menu, mui_handle_t *mui)
if (fb_buf) /* calculate a more realistic ticker_limit */
{
driver_t *driver = driver_get_ptr();
unsigned m_width = driver->font_osd_driver->get_message_width(fb_buf, "a", 1, 1);
unsigned m_width = font_driver_get_message_width(fb_buf, "a", 1, 1);
if (m_width)
mui->glyph_width = m_width;

View File

@ -221,8 +221,7 @@ static void zarch_zui_font(menu_handle_t *menu)
static float zarch_zui_strwidth(void *fb_buf, const char *text, float scale)
{
driver_t *driver = (driver_t*)driver_get_ptr();
return driver->font_osd_driver->get_message_width(fb_buf, text, strlen(text), scale);
return font_driver_get_message_width(fb_buf, text, strlen(text), scale);
}
enum zarch_zui_input_state