Do away with some NULL checks for font rendering backend
This commit is contained in:
parent
12cbec8d40
commit
51a8150e45
|
@ -78,7 +78,7 @@ static void caca_font_free(void *data, bool is_threaded)
|
||||||
if (!font)
|
if (!font)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (font->font_driver && font->font_data && font->font_driver->free)
|
if (font->font_driver && font->font_data)
|
||||||
font->font_driver->free(font->font_data);
|
font->font_driver->free(font->font_data);
|
||||||
|
|
||||||
free(font);
|
free(font);
|
||||||
|
|
|
@ -503,8 +503,7 @@ static void ctr_font_render_message(
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* If font line metrics are not supported just draw as usual */
|
/* If font line metrics are not supported just draw as usual */
|
||||||
if (!font->font_driver->get_line_metrics ||
|
if (!font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
||||||
!font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
|
||||||
{
|
{
|
||||||
size_t msg_len = strlen(msg);
|
size_t msg_len = strlen(msg);
|
||||||
ctr_font_render_line(ctr, font, msg, msg_len,
|
ctr_font_render_line(ctr, font, msg, msg_len,
|
||||||
|
@ -618,7 +617,7 @@ static const struct font_glyph* ctr_font_get_glyph(
|
||||||
void* data, uint32_t code)
|
void* data, uint32_t code)
|
||||||
{
|
{
|
||||||
ctr_font_t* font = (ctr_font_t*)data;
|
ctr_font_t* font = (ctr_font_t*)data;
|
||||||
if (font && font->font_driver && font->font_driver->ident)
|
if (font && font->font_driver)
|
||||||
return font->font_driver->get_glyph((void*)font->font_driver, code);
|
return font->font_driver->get_glyph((void*)font->font_driver, code);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -1307,7 +1306,8 @@ static void ctr_render_bottom_screen(void *data)
|
||||||
msg_hash_to_str(MSG_3DS_BOTTOM_MENU_ASSET_NOT_FOUND),
|
msg_hash_to_str(MSG_3DS_BOTTOM_MENU_ASSET_NOT_FOUND),
|
||||||
¶ms);
|
¶ms);
|
||||||
|
|
||||||
sprintf(str_path, "%s\n/bottom_menu.png", dir_assets);
|
strlcpy(str_path, dir_assets, sizeof(str_path));
|
||||||
|
strlcat(str_path, "\n/bottom_menu.png", sizeof(str_path));
|
||||||
|
|
||||||
params.scale = 1.10f;
|
params.scale = 1.10f;
|
||||||
params.y -= 0.10f;
|
params.y -= 0.10f;
|
||||||
|
|
|
@ -618,7 +618,7 @@ static void d3d10_font_free(void* data, bool is_threaded)
|
||||||
if (!font)
|
if (!font)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (font->font_driver && font->font_data && font->font_driver->free)
|
if (font->font_driver && font->font_data)
|
||||||
font->font_driver->free(font->font_data);
|
font->font_driver->free(font->font_data);
|
||||||
|
|
||||||
Release(font->texture.handle);
|
Release(font->texture.handle);
|
||||||
|
@ -789,8 +789,7 @@ static void d3d10_font_render_message(
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* If font line metrics are not supported just draw as usual */
|
/* If font line metrics are not supported just draw as usual */
|
||||||
if ( !font->font_driver->get_line_metrics
|
if (!font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
||||||
|| !font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
|
||||||
{
|
{
|
||||||
size_t msg_len = strlen(msg);
|
size_t msg_len = strlen(msg);
|
||||||
if (msg_len <= (unsigned)d3d10->sprites.capacity)
|
if (msg_len <= (unsigned)d3d10->sprites.capacity)
|
||||||
|
@ -907,7 +906,7 @@ static void d3d10_font_render_msg(
|
||||||
static const struct font_glyph* d3d10_font_get_glyph(void *data, uint32_t code)
|
static const struct font_glyph* d3d10_font_get_glyph(void *data, uint32_t code)
|
||||||
{
|
{
|
||||||
d3d10_font_t* font = (d3d10_font_t*)data;
|
d3d10_font_t* font = (d3d10_font_t*)data;
|
||||||
if (font && font->font_driver && font->font_driver->ident)
|
if (font && font->font_driver)
|
||||||
return font->font_driver->get_glyph((void*)font->font_driver, code);
|
return font->font_driver->get_glyph((void*)font->font_driver, code);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -667,7 +667,7 @@ static void d3d11_font_free(void* data, bool is_threaded)
|
||||||
if (!font)
|
if (!font)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (font->font_driver && font->font_data && font->font_driver->free)
|
if (font->font_driver && font->font_data)
|
||||||
font->font_driver->free(font->font_data);
|
font->font_driver->free(font->font_data);
|
||||||
|
|
||||||
Release(font->texture.handle);
|
Release(font->texture.handle);
|
||||||
|
@ -844,8 +844,7 @@ static void d3d11_font_render_message(
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* If font line metrics are not supported just draw as usual */
|
/* If font line metrics are not supported just draw as usual */
|
||||||
if ( !font->font_driver->get_line_metrics
|
if (!font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
||||||
|| !font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
|
||||||
{
|
{
|
||||||
size_t msg_len = strlen(msg);
|
size_t msg_len = strlen(msg);
|
||||||
if (msg_len <= (unsigned)d3d11->sprites.capacity)
|
if (msg_len <= (unsigned)d3d11->sprites.capacity)
|
||||||
|
@ -961,7 +960,7 @@ static void d3d11_font_render_msg(
|
||||||
static const struct font_glyph* d3d11_font_get_glyph(void *data, uint32_t code)
|
static const struct font_glyph* d3d11_font_get_glyph(void *data, uint32_t code)
|
||||||
{
|
{
|
||||||
d3d11_font_t* font = (d3d11_font_t*)data;
|
d3d11_font_t* font = (d3d11_font_t*)data;
|
||||||
if (font && font->font_driver && font->font_driver->ident)
|
if (font && font->font_driver)
|
||||||
return font->font_driver->get_glyph((void*)font->font_driver, code);
|
return font->font_driver->get_glyph((void*)font->font_driver, code);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -791,7 +791,7 @@ static void d3d12_font_free(void* data, bool is_threaded)
|
||||||
if (!font)
|
if (!font)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (font->font_driver && font->font_data && font->font_driver->free)
|
if (font->font_driver && font->font_data)
|
||||||
font->font_driver->free(font->font_data);
|
font->font_driver->free(font->font_data);
|
||||||
|
|
||||||
d3d12_release_texture(&font->texture);
|
d3d12_release_texture(&font->texture);
|
||||||
|
@ -972,8 +972,7 @@ static void d3d12_font_render_message(
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* If font line metrics are not supported just draw as usual */
|
/* If font line metrics are not supported just draw as usual */
|
||||||
if (!font->font_driver->get_line_metrics ||
|
if (!font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
||||||
!font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
|
||||||
{
|
{
|
||||||
size_t msg_len = strlen(msg);
|
size_t msg_len = strlen(msg);
|
||||||
if (msg_len <= d3d12->sprites.capacity)
|
if (msg_len <= d3d12->sprites.capacity)
|
||||||
|
@ -1089,7 +1088,7 @@ static const struct font_glyph* d3d12_font_get_glyph(
|
||||||
void* data, uint32_t code)
|
void* data, uint32_t code)
|
||||||
{
|
{
|
||||||
d3d12_font_t* font = (d3d12_font_t*)data;
|
d3d12_font_t* font = (d3d12_font_t*)data;
|
||||||
if (font && font->font_driver && font->font_driver->ident)
|
if (font && font->font_driver)
|
||||||
return font->font_driver->get_glyph((void*)font->font_driver, code);
|
return font->font_driver->get_glyph((void*)font->font_driver, code);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,7 +28,6 @@
|
||||||
|
|
||||||
#include "../../driver.h"
|
#include "../../driver.h"
|
||||||
#include "../../retroarch.h"
|
#include "../../retroarch.h"
|
||||||
#include "../font_driver.h"
|
|
||||||
|
|
||||||
struct dispmanx_page
|
struct dispmanx_page
|
||||||
{
|
{
|
||||||
|
|
|
@ -35,7 +35,6 @@
|
||||||
#include "../../menu/menu_driver.h"
|
#include "../../menu/menu_driver.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "../font_driver.h"
|
|
||||||
#include "../../retroarch.h"
|
#include "../../retroarch.h"
|
||||||
#include "../../verbosity.h"
|
#include "../../verbosity.h"
|
||||||
#include "../common/drm_common.h"
|
#include "../common/drm_common.h"
|
||||||
|
|
|
@ -198,7 +198,7 @@ static void gdi_font_free(void *data, bool is_threaded)
|
||||||
if (!font)
|
if (!font)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (font->font_driver && font->font_data && font->font_driver->free)
|
if (font->font_driver && font->font_data)
|
||||||
font->font_driver->free(font->font_data);
|
font->font_driver->free(font->font_data);
|
||||||
|
|
||||||
free(font);
|
free(font);
|
||||||
|
|
|
@ -442,7 +442,6 @@ static int gl1_raster_font_get_message_width(void *data, const char *msg,
|
||||||
|
|
||||||
if ( !font
|
if ( !font
|
||||||
|| !font->font_driver
|
|| !font->font_driver
|
||||||
|| !font->font_driver->get_glyph
|
|
||||||
|| !font->font_data )
|
|| !font->font_data )
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
@ -615,8 +614,7 @@ static void gl1_raster_font_render_message(
|
||||||
float line_height;
|
float line_height;
|
||||||
|
|
||||||
/* If font line metrics are not supported just draw as usual */
|
/* If font line metrics are not supported just draw as usual */
|
||||||
if (!font->font_driver->get_line_metrics ||
|
if (!font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
||||||
!font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
|
||||||
{
|
{
|
||||||
gl1_raster_font_render_line(font->gl, font,
|
gl1_raster_font_render_line(font->gl, font,
|
||||||
msg, strlen(msg), scale, color, pos_x,
|
msg, strlen(msg), scale, color, pos_x,
|
||||||
|
@ -766,7 +764,7 @@ static const struct font_glyph *gl1_raster_font_get_glyph(
|
||||||
void *data, uint32_t code)
|
void *data, uint32_t code)
|
||||||
{
|
{
|
||||||
gl1_raster_t *font = (gl1_raster_t*)data;
|
gl1_raster_t *font = (gl1_raster_t*)data;
|
||||||
if (font && font->font_driver && font->font_driver->ident)
|
if (font && font->font_driver)
|
||||||
return font->font_driver->get_glyph((void*)font->font_driver, code);
|
return font->font_driver->get_glyph((void*)font->font_driver, code);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -790,7 +790,6 @@ static int gl2_raster_font_get_message_width(void *data, const char *msg,
|
||||||
|
|
||||||
if ( !font
|
if ( !font
|
||||||
|| !font->font_driver
|
|| !font->font_driver
|
||||||
|| !font->font_driver->get_glyph
|
|
||||||
|| !font->font_data )
|
|| !font->font_data )
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
@ -925,8 +924,7 @@ static void gl2_raster_font_render_message(
|
||||||
float line_height;
|
float line_height;
|
||||||
|
|
||||||
/* If font line metrics are not supported just draw as usual */
|
/* If font line metrics are not supported just draw as usual */
|
||||||
if (!font->font_driver->get_line_metrics ||
|
if (!font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
||||||
!font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
|
||||||
{
|
{
|
||||||
gl2_raster_font_render_line(font->gl, font,
|
gl2_raster_font_render_line(font->gl, font,
|
||||||
msg, strlen(msg), scale, color, pos_x,
|
msg, strlen(msg), scale, color, pos_x,
|
||||||
|
@ -1080,7 +1078,7 @@ static const struct font_glyph *gl2_raster_font_get_glyph(
|
||||||
void *data, uint32_t code)
|
void *data, uint32_t code)
|
||||||
{
|
{
|
||||||
gl2_raster_t *font = (gl2_raster_t*)data;
|
gl2_raster_t *font = (gl2_raster_t*)data;
|
||||||
if (font && font->font_driver && font->font_driver->ident)
|
if (font && font->font_driver)
|
||||||
return font->font_driver->get_glyph((void*)font->font_driver, code);
|
return font->font_driver->get_glyph((void*)font->font_driver, code);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -504,7 +504,6 @@ static int gl3_raster_font_get_message_width(void *data, const char *msg,
|
||||||
|
|
||||||
if ( !font
|
if ( !font
|
||||||
|| !font->font_driver
|
|| !font->font_driver
|
||||||
|| !font->font_driver->get_glyph
|
|
||||||
|| !font->font_data )
|
|| !font->font_data )
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
@ -657,8 +656,7 @@ static void gl3_raster_font_render_message(
|
||||||
float line_height;
|
float line_height;
|
||||||
|
|
||||||
/* If font line metrics are not supported just draw as usual */
|
/* If font line metrics are not supported just draw as usual */
|
||||||
if (!font->font_driver->get_line_metrics ||
|
if (!font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
||||||
!font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
|
||||||
{
|
{
|
||||||
gl3_raster_font_render_line(font->gl, font,
|
gl3_raster_font_render_line(font->gl, font,
|
||||||
msg, strlen(msg), scale, color, pos_x,
|
msg, strlen(msg), scale, color, pos_x,
|
||||||
|
@ -804,7 +802,7 @@ static const struct font_glyph *gl3_raster_font_get_glyph(
|
||||||
void *data, uint32_t code)
|
void *data, uint32_t code)
|
||||||
{
|
{
|
||||||
gl3_raster_t *font = (gl3_raster_t*)data;
|
gl3_raster_t *font = (gl3_raster_t*)data;
|
||||||
if (font && font->font_driver && font->font_driver->ident)
|
if (font && font->font_driver)
|
||||||
return font->font_driver->get_glyph((void*)font->font_driver, code);
|
return font->font_driver->get_glyph((void*)font->font_driver, code);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -441,8 +441,7 @@ static void gx2_font_free(void* data, bool is_threaded)
|
||||||
if (!font)
|
if (!font)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (font->font_driver && font->font_data &&
|
if (font->font_driver && font->font_data)
|
||||||
font->font_driver->free)
|
|
||||||
font->font_driver->free(font->font_data);
|
font->font_driver->free(font->font_data);
|
||||||
|
|
||||||
if (font->texture.surface.image)
|
if (font->texture.surface.image)
|
||||||
|
@ -597,8 +596,7 @@ static void gx2_font_render_message(
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* If font line metrics are not supported just draw as usual */
|
/* If font line metrics are not supported just draw as usual */
|
||||||
if (!font->font_driver->get_line_metrics ||
|
if (!font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
||||||
!font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
|
||||||
{
|
{
|
||||||
size_t msg_len = strlen(msg);
|
size_t msg_len = strlen(msg);
|
||||||
if (wiiu->vertex_cache.current + (msg_len * 4) <= wiiu->vertex_cache.size)
|
if (wiiu->vertex_cache.current + (msg_len * 4) <= wiiu->vertex_cache.size)
|
||||||
|
@ -709,7 +707,7 @@ static void gx2_font_render_msg(
|
||||||
static const struct font_glyph* gx2_font_get_glyph(void* data, uint32_t code)
|
static const struct font_glyph* gx2_font_get_glyph(void* data, uint32_t code)
|
||||||
{
|
{
|
||||||
gx2_font_t* font = (gx2_font_t*)data;
|
gx2_font_t* font = (gx2_font_t*)data;
|
||||||
if (font && font->font_driver && font->font_driver->ident)
|
if (font && font->font_driver)
|
||||||
return font->font_driver->get_glyph((void*)font->font_driver, code);
|
return font->font_driver->get_glyph((void*)font->font_driver, code);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,10 +37,9 @@
|
||||||
#include "../../memory/wii/mem2_manager.h"
|
#include "../../memory/wii/mem2_manager.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "../font_driver.h"
|
#include <defines/gx_defines.h>
|
||||||
|
|
||||||
#include "../drivers_font_renderer/bitmap.h"
|
#include "../drivers_font_renderer/bitmap.h"
|
||||||
#include <defines/gx_defines.h>
|
|
||||||
#include "../../configuration.h"
|
#include "../../configuration.h"
|
||||||
#include "../../driver.h"
|
#include "../../driver.h"
|
||||||
|
|
||||||
|
|
|
@ -378,9 +378,6 @@ gfx_display_ctx_driver_t gfx_display_ctx_metal = {
|
||||||
|
|
||||||
- (const struct font_glyph *)getGlyph:(uint32_t)code
|
- (const struct font_glyph *)getGlyph:(uint32_t)code
|
||||||
{
|
{
|
||||||
if (!_font_driver->ident)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
const struct font_glyph *glyph = _font_driver->get_glyph((void *)_font_driver, code);
|
const struct font_glyph *glyph = _font_driver->get_glyph((void *)_font_driver, code);
|
||||||
if (glyph)
|
if (glyph)
|
||||||
[self updateGlyph:glyph];
|
[self updateGlyph:glyph];
|
||||||
|
@ -526,8 +523,7 @@ static INLINE void write_quad6(SpriteVertex *pv,
|
||||||
struct font_line_metrics *line_metrics = NULL;
|
struct font_line_metrics *line_metrics = NULL;
|
||||||
|
|
||||||
/* If font line metrics are not supported just draw as usual */
|
/* If font line metrics are not supported just draw as usual */
|
||||||
if ( !_font_driver->get_line_metrics
|
if (!_font_driver->get_line_metrics(_font_data, &line_metrics))
|
||||||
|| !_font_driver->get_line_metrics(_font_data, &line_metrics))
|
|
||||||
{
|
{
|
||||||
[self _renderLine:msg length:strlen(msg) 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;
|
return;
|
||||||
|
|
|
@ -403,7 +403,7 @@ static void *oga_init(const video_info_t *video,
|
||||||
if (settings->bools.video_font_enable)
|
if (settings->bools.video_font_enable)
|
||||||
{
|
{
|
||||||
vid->font_driver = &bitmap_font_renderer;
|
vid->font_driver = &bitmap_font_renderer;
|
||||||
vid->font = vid->font_driver->init("", settings->floats.video_font_size);
|
vid->font = vid->font_driver->init("", settings->floats.video_font_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < NUM_PAGES; ++i)
|
for (i = 0; i < NUM_PAGES; ++i)
|
||||||
|
|
|
@ -296,8 +296,7 @@ static void ps2_font_render_message(
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* If font line metrics are not supported just draw as usual */
|
/* If font line metrics are not supported just draw as usual */
|
||||||
if (!font->font_driver->get_line_metrics ||
|
if (!font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
||||||
!font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
|
||||||
{
|
{
|
||||||
ps2_font_render_line(ps2, font, msg, strlen(msg),
|
ps2_font_render_line(ps2, font, msg, strlen(msg),
|
||||||
scale, color, pos_x, pos_y,
|
scale, color, pos_x, pos_y,
|
||||||
|
@ -409,7 +408,7 @@ static const struct font_glyph* ps2_font_get_glyph(
|
||||||
void* data, uint32_t code)
|
void* data, uint32_t code)
|
||||||
{
|
{
|
||||||
ps2_font_t* font = (ps2_font_t*)data;
|
ps2_font_t* font = (ps2_font_t*)data;
|
||||||
if (font && font->font_driver && font->font_driver->ident)
|
if (font && font->font_driver)
|
||||||
return font->font_driver->get_glyph((void*)font->font_driver, code);
|
return font->font_driver->get_glyph((void*)font->font_driver, code);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,8 +32,6 @@
|
||||||
#include "../../menu/menu_driver.h"
|
#include "../../menu/menu_driver.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "../font_driver.h"
|
|
||||||
|
|
||||||
#include <defines/psp_defines.h>
|
#include <defines/psp_defines.h>
|
||||||
|
|
||||||
#ifndef SCEGU_SCR_WIDTH
|
#ifndef SCEGU_SCR_WIDTH
|
||||||
|
|
|
@ -484,7 +484,6 @@ static int rsx_font_get_message_width(void *data, const char *msg,
|
||||||
|
|
||||||
if ( !font
|
if ( !font
|
||||||
|| !font->font_driver
|
|| !font->font_driver
|
||||||
|| !font->font_driver->get_glyph
|
|
||||||
|| !font->font_data )
|
|| !font->font_data )
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
@ -661,8 +660,7 @@ static void rsx_font_render_message(
|
||||||
float line_height;
|
float line_height;
|
||||||
|
|
||||||
/* If font line metrics are not supported just draw as usual */
|
/* If font line metrics are not supported just draw as usual */
|
||||||
if (!font->font_driver->get_line_metrics ||
|
if (!font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
||||||
!font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
|
||||||
{
|
{
|
||||||
rsx_font_render_line(font,
|
rsx_font_render_line(font,
|
||||||
msg, strlen(msg), scale, color, pos_x,
|
msg, strlen(msg), scale, color, pos_x,
|
||||||
|
@ -818,7 +816,7 @@ static const struct font_glyph *rsx_font_get_glyph(
|
||||||
void *data, uint32_t code)
|
void *data, uint32_t code)
|
||||||
{
|
{
|
||||||
rsx_font_t *font = (rsx_font_t*)data;
|
rsx_font_t *font = (rsx_font_t*)data;
|
||||||
if (font && font->font_driver && font->font_driver->ident)
|
if (font && font->font_driver)
|
||||||
return font->font_driver->get_glyph((void*)font->font_driver, code);
|
return font->font_driver->get_glyph((void*)font->font_driver, code);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -511,8 +511,6 @@ struct sunxi_page
|
||||||
struct sunxi_video
|
struct sunxi_video
|
||||||
{
|
{
|
||||||
void *font;
|
void *font;
|
||||||
const font_renderer_driver_t *font_driver;
|
|
||||||
|
|
||||||
uint8_t font_rgb[4];
|
uint8_t font_rgb[4];
|
||||||
|
|
||||||
/* Sunxi framebuffer information struct */
|
/* Sunxi framebuffer information struct */
|
||||||
|
|
|
@ -261,8 +261,7 @@ static void switch_font_render_message(
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* If font line metrics are not supported just draw as usual */
|
/* If font line metrics are not supported just draw as usual */
|
||||||
if (!font->font_driver->get_line_metrics ||
|
if (!font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
||||||
!font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
|
||||||
{
|
{
|
||||||
size_t msg_len = strlen(msg);
|
size_t msg_len = strlen(msg);
|
||||||
if (msg_len <= AVG_GLPYH_LIMIT)
|
if (msg_len <= AVG_GLPYH_LIMIT)
|
||||||
|
@ -349,7 +348,7 @@ static const struct font_glyph *switch_font_get_glyph(
|
||||||
void *data, uint32_t code)
|
void *data, uint32_t code)
|
||||||
{
|
{
|
||||||
switch_font_t *font = (switch_font_t *)data;
|
switch_font_t *font = (switch_font_t *)data;
|
||||||
if (font && font->font_driver && font->font_driver->ident)
|
if (font && font->font_driver)
|
||||||
return font->font_driver->get_glyph((void *)font->font_driver, code);
|
return font->font_driver->get_glyph((void *)font->font_driver, code);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -76,7 +76,7 @@ static void vga_font_render_free(void *data, bool is_threaded)
|
||||||
if (!font)
|
if (!font)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (font->font_driver && font->font_data && font->font_driver->free)
|
if (font->font_driver && font->font_data)
|
||||||
font->font_driver->free(font->font_data);
|
font->font_driver->free(font->font_data);
|
||||||
|
|
||||||
free(font);
|
free(font);
|
||||||
|
|
|
@ -392,8 +392,7 @@ static void vita2d_font_render_message(
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* If font line metrics are not supported just draw as usual */
|
/* If font line metrics are not supported just draw as usual */
|
||||||
if (!font->font_driver->get_line_metrics ||
|
if (!font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
||||||
!font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
|
||||||
{
|
{
|
||||||
vita2d_font_render_line(font, msg, strlen(msg),
|
vita2d_font_render_line(font, msg, strlen(msg),
|
||||||
scale, color, pos_x, pos_y, width, height, text_align);
|
scale, color, pos_x, pos_y, width, height, text_align);
|
||||||
|
@ -506,7 +505,7 @@ static const struct font_glyph *vita2d_font_get_glyph(
|
||||||
void *data, uint32_t code)
|
void *data, uint32_t code)
|
||||||
{
|
{
|
||||||
vita_font_t *font = (vita_font_t*)data;
|
vita_font_t *font = (vita_font_t*)data;
|
||||||
if (font && font->font_driver && font->font_driver->ident)
|
if (font && font->font_driver)
|
||||||
return font->font_driver->get_glyph((void*)font->font_driver, code);
|
return font->font_driver->get_glyph((void*)font->font_driver, code);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1373,7 +1373,6 @@ static int vulkan_get_message_width(void *data, const char *msg,
|
||||||
|
|
||||||
if ( !font
|
if ( !font
|
||||||
|| !font->font_driver
|
|| !font->font_driver
|
||||||
|| !font->font_driver->get_glyph
|
|
||||||
|| !font->font_data )
|
|| !font->font_data )
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
@ -1499,8 +1498,7 @@ static void vulkan_font_render_message(
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* If font line metrics are not supported just draw as usual */
|
/* If font line metrics are not supported just draw as usual */
|
||||||
if (!font->font_driver->get_line_metrics ||
|
if (!font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
||||||
!font->font_driver->get_line_metrics(font->font_data, &line_metrics))
|
|
||||||
{
|
{
|
||||||
vulkan_font_render_line(font->vk, font, msg, strlen(msg),
|
vulkan_font_render_line(font->vk, font, msg, strlen(msg),
|
||||||
scale, color, pos_x, pos_y, text_align);
|
scale, color, pos_x, pos_y, text_align);
|
||||||
|
@ -1709,7 +1707,7 @@ static const struct font_glyph *vulkan_font_get_glyph(
|
||||||
const struct font_glyph* glyph;
|
const struct font_glyph* glyph;
|
||||||
vulkan_raster_t *font = (vulkan_raster_t*)data;
|
vulkan_raster_t *font = (vulkan_raster_t*)data;
|
||||||
|
|
||||||
if (!font || !font->font_driver || !font->font_driver->ident)
|
if (!font || !font->font_driver)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
glyph = font->font_driver->get_glyph((void*)font->font_driver, code);
|
glyph = font->font_driver->get_glyph((void*)font->font_driver, code);
|
||||||
|
|
|
@ -26,8 +26,6 @@
|
||||||
#include "../../config.h"
|
#include "../../config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "../font_driver.h"
|
|
||||||
|
|
||||||
#include "../../driver.h"
|
#include "../../driver.h"
|
||||||
|
|
||||||
#define XE_W 512
|
#define XE_W 512
|
||||||
|
|
|
@ -32,7 +32,6 @@
|
||||||
#include "../../menu/menu_driver.h"
|
#include "../../menu/menu_driver.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "../font_driver.h"
|
|
||||||
#include "../common/x11_common.h"
|
#include "../common/x11_common.h"
|
||||||
#include "../../configuration.h"
|
#include "../../configuration.h"
|
||||||
#include "../../verbosity.h"
|
#include "../../verbosity.h"
|
||||||
|
|
|
@ -46,6 +46,8 @@ typedef struct font_renderer
|
||||||
bool (*get_line_metrics)(void* data, struct font_line_metrics **metrics);
|
bool (*get_line_metrics)(void* data, struct font_line_metrics **metrics);
|
||||||
} font_renderer_t;
|
} font_renderer_t;
|
||||||
|
|
||||||
|
/* NOTE: All functions are required to be implemented for font_renderer_driver */
|
||||||
|
|
||||||
typedef struct font_renderer_driver
|
typedef struct font_renderer_driver
|
||||||
{
|
{
|
||||||
void *(*init)(const char *font_path, float font_size);
|
void *(*init)(const char *font_path, float font_size);
|
||||||
|
|
Loading…
Reference in New Issue