mirror of
https://github.com/libretro/RetroArch
synced 2025-04-17 02:43:03 +00:00
Fixups to Lakka fonts.
This commit is contained in:
parent
186f5a9513
commit
f118817fae
@ -199,19 +199,20 @@ static void update_tweens(float dt)
|
||||
static void lakka_draw_text(const char *str, float x, float y, float scale, float alpha)
|
||||
{
|
||||
gl_t *gl = (gl_t*)driver.video_data;
|
||||
if (!gl)
|
||||
return;
|
||||
|
||||
gl_set_viewport(gl, gl->win_width, gl->win_height, false, false);
|
||||
|
||||
struct font_params params = {0};
|
||||
params.x = x / gl->win_width;
|
||||
params.y = 1.0f - y / gl->win_height;
|
||||
params.x = x / gl->vp.width;
|
||||
params.y = 1.0f - y / gl->vp.height;
|
||||
|
||||
if (alpha > global_alpha)
|
||||
alpha = global_alpha;
|
||||
|
||||
params.scale = scale;
|
||||
params.color = FONT_COLOR_RGBA(0xff, 0xff, 0xff, (uint8_t)(255 * alpha));
|
||||
params.drop_x = -2;
|
||||
params.drop_y = -2;
|
||||
params.drop_mod = 0.3f;
|
||||
params.color = FONT_COLOR_RGBA(255, 255, 255, (uint8_t)(255 * alpha));
|
||||
|
||||
if (font_driver)
|
||||
font_driver->render_msg(font, str, ¶ms);
|
||||
@ -225,8 +226,8 @@ void lakka_draw_background(void)
|
||||
0.1, 0.74, 0.61, global_alpha,
|
||||
0.1, 0.74, 0.61, global_alpha,
|
||||
};
|
||||
gl_t *gl = (gl_t*)driver.video_data;
|
||||
|
||||
gl_t *gl = (gl_t*)driver.video_data;
|
||||
if (!gl)
|
||||
return;
|
||||
|
||||
@ -238,6 +239,8 @@ void lakka_draw_background(void)
|
||||
|
||||
if (gl->shader && gl->shader->use)
|
||||
gl->shader->use(gl, GL_SHADER_STOCK_BLEND);
|
||||
|
||||
gl->coords.vertices = 4;
|
||||
gl_shader_set_coords(gl, &gl->coords, &gl->mvp_no_rot);
|
||||
|
||||
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
|
||||
@ -291,6 +294,7 @@ void lakka_draw_icon(GLuint texture, float x, float y, float alpha, float rotati
|
||||
matrix_scale(&mscal, scale, scale, 1);
|
||||
matrix_multiply(&mymat, &mscal, &mymat);
|
||||
|
||||
gl->coords.vertices = 4;
|
||||
gl_shader_set_coords(gl, &gl->coords, &mymat);
|
||||
|
||||
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
|
||||
|
@ -111,9 +111,6 @@ static void render_message(gl_raster_t *font, const char *msg, GLfloat scale, co
|
||||
unsigned i;
|
||||
gl_t *gl = font->gl;
|
||||
|
||||
// Rebind shaders so attrib cache gets reset.
|
||||
if (gl->shader && gl->shader->use)
|
||||
gl->shader->use(gl, GL_SHADER_STOCK_BLEND);
|
||||
glBindTexture(GL_TEXTURE_2D, font->tex);
|
||||
|
||||
#define MAX_MSG_LEN_CHUNK 64
|
||||
@ -136,6 +133,10 @@ static void render_message(gl_raster_t *font, const char *msg, GLfloat scale, co
|
||||
|
||||
while (msg_len_full)
|
||||
{
|
||||
// Rebind shaders so attrib cache gets reset.
|
||||
if (gl->shader && gl->shader->use)
|
||||
gl->shader->use(gl, GL_SHADER_STOCK_BLEND);
|
||||
|
||||
for (i = 0; i < msg_len; i++)
|
||||
{
|
||||
const struct font_glyph *gly = font->font_driver->get_glyph(font->font_data, (uint8_t)msg[i]);
|
||||
@ -207,10 +208,10 @@ static void gl_render_msg(void *data, const char *msg, const struct font_params
|
||||
drop_y = params->drop_y;
|
||||
drop_mod = params->drop_mod;
|
||||
|
||||
color[0] = FONT_COLOR_GET_RED(params->color);
|
||||
color[1] = FONT_COLOR_GET_GREEN(params->color);
|
||||
color[2] = FONT_COLOR_GET_BLUE(params->color);
|
||||
color[3] = FONT_COLOR_GET_ALPHA(params->color);
|
||||
color[0] = FONT_COLOR_GET_RED(params->color) / 255.0f;
|
||||
color[1] = FONT_COLOR_GET_GREEN(params->color) / 255.0f;
|
||||
color[2] = FONT_COLOR_GET_BLUE(params->color) / 255.0f;
|
||||
color[3] = FONT_COLOR_GET_ALPHA(params->color) / 255.0f;
|
||||
|
||||
// If alpha is 0.0f, turn it into default 1.0f
|
||||
if (color[3] <= 0.0f)
|
||||
|
Loading…
x
Reference in New Issue
Block a user