From 2f175f1a15285e522bda50d8fe87ba1e29e21954 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Thu, 19 Jan 2017 22:03:59 +0100 Subject: [PATCH] Remove video_driver_get_size call in gfx/drivers_font --- gfx/drivers_font/caca_font.c | 3 ++- gfx/drivers_font/ctr_font.c | 2 +- gfx/drivers_font/gdi_font.c | 2 +- gfx/drivers_font/gl_raster_font.c | 6 ++---- gfx/drivers_font/vita2d_font.c | 3 ++- gfx/drivers_font/vulkan_raster_font.c | 3 ++- gfx/font_driver.c | 4 ++-- gfx/font_driver.h | 4 ++-- menu/drivers/materialui.c | 4 ++-- menu/drivers/xmb.c | 4 ++-- menu/drivers/zarch.c | 3 ++- menu/menu_display.c | 5 +++-- menu/menu_display.h | 2 +- 13 files changed, 24 insertions(+), 21 deletions(-) diff --git a/gfx/drivers_font/caca_font.c b/gfx/drivers_font/caca_font.c index 68ea5c0475..555d28fdc7 100644 --- a/gfx/drivers_font/caca_font.c +++ b/gfx/drivers_font/caca_font.c @@ -115,7 +115,8 @@ static void caca_render_msg(video_frame_info_t *video_info, caca_refresh_display(*font->caca->caca_display); } -static void caca_font_flush_block(void* data) +static void caca_font_flush_block(unsigned width, unsigned height, + void* data) { (void)data; } diff --git a/gfx/drivers_font/ctr_font.c b/gfx/drivers_font/ctr_font.c index 17462bc3e3..f7f13e4e43 100644 --- a/gfx/drivers_font/ctr_font.c +++ b/gfx/drivers_font/ctr_font.c @@ -438,7 +438,7 @@ static const struct font_glyph* ctr_font_get_glyph( return font->font_driver->get_glyph((void*)font->font_driver, code); } -static void ctr_font_flush_block(void* data) +static void ctr_font_flush_block(unsigned width, unsigned height, void* data) { (void)data; } diff --git a/gfx/drivers_font/gdi_font.c b/gfx/drivers_font/gdi_font.c index 592e208ba7..b9244a337c 100644 --- a/gfx/drivers_font/gdi_font.c +++ b/gfx/drivers_font/gdi_font.c @@ -121,7 +121,7 @@ static void gdi_render_msg( ReleaseDC(hwnd, hdc); } -static void gdi_font_flush_block(void* data) +static void gdi_font_flush_block(unsigned width, unsigned height, void* data) { (void)data; } diff --git a/gfx/drivers_font/gl_raster_font.c b/gfx/drivers_font/gl_raster_font.c index 06e181551f..84e85c323c 100644 --- a/gfx/drivers_font/gl_raster_font.c +++ b/gfx/drivers_font/gl_raster_font.c @@ -518,17 +518,15 @@ static const struct font_glyph *gl_raster_font_get_glyph( return font->font_driver->get_glyph((void*)font->font_driver, code); } -static void gl_raster_font_flush_block(void *data) +static void gl_raster_font_flush_block(unsigned width, unsigned height, + void *data) { - unsigned width, height; gl_raster_t *font = (gl_raster_t*)data; video_font_raster_block_t *block = font ? font->block : NULL; if (!font || !block || !block->carr.coords.vertices) return; - video_driver_get_size(&width, &height); - gl_raster_font_setup_viewport(width, height, font, block->fullscreen); gl_raster_font_draw_vertices(font, (video_coords_t*)&block->carr.coords); gl_raster_font_restore_viewport(width, height, font->gl, block->fullscreen); diff --git a/gfx/drivers_font/vita2d_font.c b/gfx/drivers_font/vita2d_font.c index b8bc7a5045..30781f160d 100644 --- a/gfx/drivers_font/vita2d_font.c +++ b/gfx/drivers_font/vita2d_font.c @@ -344,7 +344,8 @@ static const struct font_glyph *vita2d_font_get_glyph( return font->font_driver->get_glyph((void*)font->font_driver, code); } -static void vita2d_font_flush_block(void *data) +static void vita2d_font_flush_block(unsigned width, unsigned height, + void *data) { (void)data; } diff --git a/gfx/drivers_font/vulkan_raster_font.c b/gfx/drivers_font/vulkan_raster_font.c index d94708811b..56ad623432 100644 --- a/gfx/drivers_font/vulkan_raster_font.c +++ b/gfx/drivers_font/vulkan_raster_font.c @@ -359,7 +359,8 @@ static const struct font_glyph *vulkan_raster_font_get_glyph( return font->font_driver->get_glyph((void*)font->font_driver, code); } -static void vulkan_raster_font_flush_block(void *data) +static void vulkan_raster_font_flush_block(unsigned width, unsigned height, + void *data) { (void)data; } diff --git a/gfx/font_driver.c b/gfx/font_driver.c index 58c2df00b3..b0b74068fd 100644 --- a/gfx/font_driver.c +++ b/gfx/font_driver.c @@ -364,11 +364,11 @@ void font_driver_bind_block(void *font_data, void *block) font->renderer->bind_block(font->renderer_data, block); } -void font_driver_flush(void *font_data) +void font_driver_flush(unsigned width, unsigned height, void *font_data) { font_data_t *font = (font_data_t*)(font_data ? font_data : video_font_driver); if (font && font->renderer && font->renderer->flush) - font->renderer->flush(font->renderer_data); + font->renderer->flush(width, height, font->renderer_data); } int font_driver_get_message_width(void *font_data, diff --git a/gfx/font_driver.h b/gfx/font_driver.h index c78e591ad5..65bd028965 100644 --- a/gfx/font_driver.h +++ b/gfx/font_driver.h @@ -110,7 +110,7 @@ typedef struct font_renderer const struct font_glyph *(*get_glyph)(void *data, uint32_t code); void (*bind_block)(void *data, void *block); - void (*flush)(void *data); + void (*flush)(unsigned width, unsigned height, void *data); int (*get_message_width)(void *data, const char *msg, unsigned msg_len_full, float scale); } font_renderer_t; @@ -151,7 +151,7 @@ void font_driver_bind_block(void *font_data, void *block); int font_driver_get_message_width(void *font_data, const char *msg, unsigned len, float scale); -void font_driver_flush(void *font_data); +void font_driver_flush(unsigned width, unsigned height, void *font_data); void font_driver_free(void *font_data); diff --git a/menu/drivers/materialui.c b/menu/drivers/materialui.c index cc0a7897c9..b3beea073d 100644 --- a/menu/drivers/materialui.c +++ b/menu/drivers/materialui.c @@ -1300,8 +1300,8 @@ static void mui_frame(void *data, video_frame_info_t *video_info) &active_tab_marker_color[0] ); - menu_display_font_flush_block(mui->font); - menu_display_font_flush_block(mui->font2); + menu_display_font_flush_block(video_info->width, video_info->height, mui->font); + menu_display_font_flush_block(video_info->width, video_info->height, mui->font2); menu_animation_ctl(MENU_ANIMATION_CTL_SET_ACTIVE, NULL); /* header */ diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index 3727494d28..109c65f068 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -2839,8 +2839,8 @@ static void xmb_frame(void *data, video_frame_info_t *video_info) width, height); - menu_display_font_flush_block(xmb->font); - menu_display_font_flush_block(xmb->font2); + menu_display_font_flush_block(video_info->width, video_info->height, xmb->font); + menu_display_font_flush_block(video_info->width, video_info->height, xmb->font2); if (xmb->savestate_thumbnail) xmb_draw_thumbnail(menu_disp_info, diff --git a/menu/drivers/zarch.c b/menu/drivers/zarch.c index 1b967fd0d2..2581eb7a6f 100644 --- a/menu/drivers/zarch.c +++ b/menu/drivers/zarch.c @@ -982,7 +982,8 @@ static void zarch_frame(void *data, video_frame_info_t *video_info) zui->rendering = false; - menu_display_font_flush_block((font_data_t*)zui->font); + menu_display_font_flush_block(video_info->width, video_info->height, + (font_data_t*)zui->font); menu_display_unset_viewport(video_info->width, video_info->height); } diff --git a/menu/menu_display.c b/menu/menu_display.c index ca003a4f46..38171cdd5f 100644 --- a/menu/menu_display.c +++ b/menu/menu_display.c @@ -240,9 +240,10 @@ void menu_display_font_bind_block(font_data_t *font, void *block) font_driver_bind_block(font, block); } -bool menu_display_font_flush_block(font_data_t *font) +bool menu_display_font_flush_block(unsigned width, unsigned height, + font_data_t *font) { - font_driver_flush(font); + font_driver_flush(width, height, font); font_driver_bind_block(font, NULL); return true; } diff --git a/menu/menu_display.h b/menu/menu_display.h index 9bf0bb0ab1..0f4f5a300b 100644 --- a/menu/menu_display.h +++ b/menu/menu_display.h @@ -200,7 +200,7 @@ void menu_display_blend_end(void); void menu_display_font_free(font_data_t *font); font_data_t *menu_display_font_main_init(menu_display_ctx_font_t *font); void menu_display_font_bind_block(font_data_t *font, void *block); -bool menu_display_font_flush_block(font_data_t *font); +bool menu_display_font_flush_block(unsigned width, unsigned height, font_data_t *font); void menu_display_framebuffer_deinit(void);