mirror of
https://github.com/libretro/RetroArch
synced 2025-04-01 13:20:43 +00:00
Update d3d_w32_font
This commit is contained in:
parent
aa66ca8bf4
commit
c76ce05070
@ -2866,6 +2866,40 @@ bool d3dx_compile_shader(
|
||||
return false;
|
||||
}
|
||||
|
||||
void d3dx_font_release(void *data)
|
||||
{
|
||||
#ifdef HAVE_D3DX
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
ID3DXFont *font = (ID3DXFont*)data;
|
||||
if (!font)
|
||||
return;
|
||||
font->lpVtbl->Release(font);
|
||||
#else
|
||||
LPD3DXFONT font = (LPD3DXFONT)data;
|
||||
if (!font)
|
||||
return;
|
||||
font->Release();
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
void d3dx_font_get_text_metrics(void *data, void *metrics)
|
||||
{
|
||||
#ifdef HAVE_D3DX
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
ID3DXFont *font = (ID3DXFont*)data;
|
||||
if (!font)
|
||||
return;
|
||||
font->lpVtbl->GetTextMetrics(font, (TEXTMETRICA*)metrics);
|
||||
#else
|
||||
LPD3DXFONT font = (LPD3DXFONT)data;
|
||||
if (!font)
|
||||
return;
|
||||
font->GetTextMetricsA((TEXTMETRICA*)metrics);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
bool d3dx_compile_shader_from_file(
|
||||
const char *src,
|
||||
const void *pdefines,
|
||||
|
@ -220,8 +220,12 @@ bool d3d_check_device_type(void *d3d,
|
||||
bool d3dx_create_font_indirect(void *dev,
|
||||
void *desc, void **font_data);
|
||||
|
||||
void d3dx_font_get_text_metrics(void *data, void *metrics);
|
||||
|
||||
void d3dxbuffer_release(void *data);
|
||||
|
||||
void d3dx_font_release(void *data);
|
||||
|
||||
D3DTEXTUREFILTERTYPE d3d_translate_filter(unsigned type);
|
||||
|
||||
bool d3dx_compile_shader(
|
||||
|
@ -19,6 +19,7 @@
|
||||
#endif
|
||||
|
||||
#include "../drivers/d3d.h"
|
||||
#include "../common/d3d_common.h"
|
||||
#include "../font_driver.h"
|
||||
|
||||
#include "../../configuration.h"
|
||||
@ -45,12 +46,8 @@ typedef struct
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
#define IDirect3DXFont_DrawTextA(p, a, b, c, d, e, f) (p)->lpVtbl->DrawTextA(p, a, b, c, d, e, f)
|
||||
#define IDirect3DXFont_GetTextMetricsA(p, a) (p)->lpVtbl->GetTextMetricsA(p, a)
|
||||
#define IDirect3DXFont_Release(p) (p)->lpVtbl->Release(p)
|
||||
#else
|
||||
#define IDirect3DXFont_DrawTextA(p, a, b, c, d, e, f) (p)->DrawTextA(a, b, c, d, e, f)
|
||||
#define IDirect3DXFont_GetTextMetricsA(p, a) (p)->GetTextMetricsA(a)
|
||||
#define IDirect3DXFont_Release(p) (p)->Release()
|
||||
#endif
|
||||
|
||||
static void *d3dfonts_w32_init_font(void *video_data,
|
||||
@ -84,7 +81,8 @@ static void *d3dfonts_w32_init_font(void *video_data,
|
||||
&desc, (void**)&d3dfonts->font))
|
||||
goto error;
|
||||
|
||||
IDirect3DXFont_GetTextMetricsA(d3dfonts->font, &metrics);
|
||||
|
||||
d3dx_font_get_text_metrics(d3dfonts->font, &metrics);
|
||||
|
||||
d3dfonts->ascent = metrics.tmAscent;
|
||||
|
||||
@ -103,7 +101,7 @@ static void d3dfonts_w32_free_font(void *data, bool is_threaded)
|
||||
return;
|
||||
|
||||
if (d3dfonts->font)
|
||||
IDirect3DXFont_Release(d3dfonts->font);
|
||||
d3dx_font_release(d3dfonts->font);
|
||||
|
||||
free(d3dfonts);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user