Create d3d_font_indirect

This commit is contained in:
twinaphex 2018-01-03 19:03:19 +01:00
parent 94b04828f9
commit d3480e6365
3 changed files with 23 additions and 9 deletions

View File

@ -1202,3 +1202,21 @@ void *d3d_matrix_rotation_z(void *_pout, float angle)
pout->m[1][0] = -sin(angle);
return pout;
}
bool d3d_create_font_indirect(LPDIRECT3DDEVICE dev,
void *desc, void **font_data)
{
#ifndef _XBOX
#ifdef __cplusplus
if (FAILED(D3DXCreateFontIndirect(
dev, (D3DXFONT_DESC*)desc, font_data)))
return false;
#else
if (FAILED(D3DXCreateFontIndirect(
dev, (D3DXFONT_DESC*)desc,
(struct ID3DXFont**)font_data)))
return false;
#endif
#endif
return true;
}

View File

@ -179,6 +179,9 @@ bool d3d_initialize_symbols(void);
void d3d_deinitialize_symbols(void);
bool d3d_create_font_indirect(LPDIRECT3DDEVICE dev,
void *desc, void **font_data);
D3DTEXTUREFILTERTYPE d3d_translate_filter(unsigned type);
RETRO_END_DECLS

View File

@ -77,16 +77,9 @@ static void *d3dfonts_w32_init_font(void *video_data,
d3dfonts->d3d = (d3d_video_t*)video_data;
d3dfonts->color = D3DCOLOR_XRGB(r, g, b);
#ifdef __cplusplus
if (FAILED(D3DXCreateFontIndirect(
d3dfonts->d3d->dev, &desc, &d3dfonts->font)))
if (!d3d_create_font_indirect(d3dfonts->d3d->dev,
&desc, (void**)&d3dfonts->font))
goto error;
#else
if (FAILED(D3DXCreateFontIndirect(
d3dfonts->d3d->dev, &desc,
(struct ID3DXFont**)&d3dfonts->font)))
goto error;
#endif
return d3dfonts;