static void lakka_draw_text(const char *str, float x, float y, float scale, float alpha) { if (alpha > global_alpha) alpha = global_alpha; if (alpha == 0) return; gl_t *gl = (gl_t*)driver.video_data; if (!gl) return; if (x < -icon_size || x > gl->win_width + icon_size || y < -icon_size || y > gl->win_height + icon_size) 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.scale = scale; params.color = FONT_COLOR_RGBA(255, 255, 255, (uint8_t)(255 * alpha)); params.full_screen = true; if (font_driver) font_driver->render_msg(font, str, ¶ms); }
static void glui_blit_line(float x, float y, const char *message, bool green) { gl_t *gl = (gl_t*)driver_video_resolve(NULL); if (!driver.menu || !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.scale = 1.0; params.color = green ? FONT_COLOR_RGBA(100, 255, 100, 255) : FONT_COLOR_RGBA(255, 255, 255, 255); params.full_screen = true; if (driver.video_data && driver.video_poke && driver.video_poke->set_osd_msg) driver.video_poke->set_osd_msg(driver.video_data, message, ¶ms, NULL); }
static void xmb_draw_text(const char *str, float x, float y, float scale, float alpha) { uint8_t a8 = 0; struct font_params params = {0}; xmb_handle_t *xmb = (xmb_handle_t*)driver.menu->userdata; if (!xmb) return; if (alpha > xmb->alpha) alpha = xmb->alpha; a8 = 255 * alpha; if (a8 == 0) return; gl_t *gl = (gl_t*)driver_video_resolve(NULL); if (!gl) return; if (x < -xmb->icon_size || x > gl->win_width + xmb->icon_size || y < -xmb->icon_size || y > gl->win_height + xmb->icon_size) return; gl_set_viewport(gl, gl->win_width, gl->win_height, false, false); params.x = x / gl->win_width; params.y = 1.0f - y / gl->win_height; params.scale = scale; params.color = FONT_COLOR_RGBA(255, 255, 255, a8); params.full_screen = true; if (driver.video_data && driver.video_poke && driver.video_poke->set_osd_msg) driver.video_poke->set_osd_msg(driver.video_data, str, ¶ms); }
static void lakka_draw_text(lakka_handle_t *lakka, const char *str, float x, float y, float scale, float alpha) { if (alpha > lakka->global_alpha) alpha = lakka->global_alpha; uint8_t a8 = 255 * alpha; if (!lakka) return; if (a8 == 0) return; gl_t *gl = (gl_t*)driver_video_resolve(NULL); if (!gl) return; if (x < -lakka->icon_size || x > gl->win_width + lakka->icon_size || y < -lakka->icon_size || y > gl->win_height + lakka->icon_size) 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.scale = scale; params.color = FONT_COLOR_RGBA(255, 255, 255, a8); params.full_screen = true; if (driver.video_data && driver.video_poke && driver.video_poke->set_osd_msg) driver.video_poke->set_osd_msg(driver.video_data, str, ¶ms); }