1
0
mirror of https://github.com/libretro/RetroArch synced 2025-03-31 01:21:03 +00:00

Remove set_font_rect callback

This commit is contained in:
twinaphex 2018-05-14 16:57:34 +02:00
parent bf3122329b
commit e9054159ec
5 changed files with 40 additions and 44 deletions

@ -43,8 +43,6 @@ typedef struct d3d8_video
overlay_t *menu;
void *renderchain_data;
RECT font_rect;
RECT font_rect_shifted;
math_matrix_4x4 mvp;
math_matrix_4x4 mvp_rotate;
math_matrix_4x4 mvp_transposed;

@ -58,7 +58,6 @@ typedef struct d3d9_renderchain_driver
unsigned *out_width, unsigned *out_height,
unsigned width, unsigned height,
D3DVIEWPORT9 *final_viewport);
void (*set_font_rect)(d3d9_video_t *d3d, const struct font_params *params);
bool (*read_viewport)(d3d9_video_t *d3d, uint8_t *buffer, bool is_idle);
const char *ident;
} d3d9_renderchain_driver_t;

@ -876,6 +876,37 @@ static void d3d9_calculate_rect(void *data,
}
}
static void d3d9_set_font_rect(
d3d9_video_t *d3d,
const struct font_params *params)
{
settings_t *settings = config_get_ptr();
float pos_x = settings->floats.video_msg_pos_x;
float pos_y = settings->floats.video_msg_pos_y;
float font_size = settings->floats.video_font_size;
if (params)
{
pos_x = params->x;
pos_y = params->y;
font_size *= params->scale;
}
if (!d3d)
return;
d3d->font_rect.left = d3d->video_info.width * pos_x;
d3d->font_rect.right = d3d->video_info.width;
d3d->font_rect.top = (1.0f - pos_y) * d3d->video_info.height - font_size;
d3d->font_rect.bottom = d3d->video_info.height;
d3d->font_rect_shifted = d3d->font_rect;
d3d->font_rect_shifted.left -= 2;
d3d->font_rect_shifted.right -= 2;
d3d->font_rect_shifted.top += 2;
d3d->font_rect_shifted.bottom += 2;
}
static void d3d9_set_viewport(void *data,
unsigned width, unsigned height,
bool force_full,
@ -901,8 +932,7 @@ static void d3d9_set_viewport(void *data,
d3d->final_viewport.MinZ = 0.0f;
d3d->final_viewport.MaxZ = 1.0f;
if (d3d->renderchain_driver && d3d->renderchain_driver->set_font_rect)
d3d->renderchain_driver->set_font_rect(d3d, NULL);
d3d9_set_font_rect(d3d, NULL);
}
static bool d3d9_initialize(d3d9_video_t *d3d, const video_info_t *info)
@ -1135,11 +1165,10 @@ static void d3d9_set_osd_msg(void *data,
d3d9_video_t *d3d = (d3d9_video_t*)data;
LPDIRECT3DDEVICE9 dev = d3d->dev;
if (d3d->renderchain_driver->set_font_rect && params)
d3d->renderchain_driver->set_font_rect(d3d, params);
d3d9_set_font_rect(d3d, params);
d3d9_begin_scene(dev);
font_driver_render_msg(video_info, font, msg, (const struct font_params *)params);
font_driver_render_msg(video_info, font,
msg, (const struct font_params *)params);
d3d9_end_scene(dev);
}

@ -1410,13 +1410,16 @@ static bool d3d9_cg_renderchain_render(
LPDIRECT3DSURFACE9 back_buffer, target;
unsigned i, current_width, current_height, out_width = 0, out_height = 0;
struct cg_pass *last_pass = NULL;
cg_renderchain_t *chain = d3d ? (cg_renderchain_t*)d3d->renderchain_data : NULL;
cg_renderchain_t *chain = d3d ?
(cg_renderchain_t*)d3d->renderchain_data : NULL;
d3d9_cg_renderchain_start_render(chain);
current_width = width;
current_height = height;
d3d9_cg_renderchain_convert_geometry(chain, &chain->passes->data[0].info,
d3d9_cg_renderchain_convert_geometry(chain,
&chain->passes->data[0].info,
&out_width, &out_height,
current_width, current_height, chain->final_viewport);
@ -1509,37 +1512,6 @@ static bool d3d9_cg_renderchain_render(
return true;
}
static void d3d9_cg_renderchain_set_font_rect(
d3d9_video_t *d3d,
const struct font_params *params)
{
settings_t *settings = config_get_ptr();
float pos_x = settings->floats.video_msg_pos_x;
float pos_y = settings->floats.video_msg_pos_y;
float font_size = settings->floats.video_font_size;
if (params)
{
pos_x = params->x;
pos_y = params->y;
font_size *= params->scale;
}
if (!d3d)
return;
d3d->font_rect.left = d3d->video_info.width * pos_x;
d3d->font_rect.right = d3d->video_info.width;
d3d->font_rect.top = (1.0f - pos_y) * d3d->video_info.height - font_size;
d3d->font_rect.bottom = d3d->video_info.height;
d3d->font_rect_shifted = d3d->font_rect;
d3d->font_rect_shifted.left -= 2;
d3d->font_rect_shifted.right -= 2;
d3d->font_rect_shifted.top += 2;
d3d->font_rect_shifted.bottom += 2;
}
static bool d3d9_cg_renderchain_read_viewport(
d3d9_video_t *d3d, uint8_t *buffer, bool is_idle)
{
@ -1606,7 +1578,6 @@ d3d9_renderchain_driver_t cg_d3d9_renderchain = {
d3d9_cg_renderchain_add_lut,
d3d9_cg_renderchain_render,
d3d9_cg_renderchain_convert_geometry,
d3d9_cg_renderchain_set_font_rect,
d3d9_cg_renderchain_read_viewport,
"cg_d3d9",
};

@ -372,6 +372,5 @@ d3d9_renderchain_driver_t hlsl_d3d9_renderchain = {
hlsl_d3d9_renderchain_render,
hlsl_d3d9_renderchain_convert_geometry,
NULL,
NULL,
"hlsl_d3d9",
};