mirror of
https://github.com/libretro/RetroArch
synced 2025-02-28 12:40:23 +00:00
fix VG compile
This commit is contained in:
parent
66021d7ba0
commit
c891bc353a
32
gfx/vg.c
32
gfx/vg.c
@ -52,17 +52,16 @@ typedef struct
|
|||||||
VGint scissor[4];
|
VGint scissor[4];
|
||||||
EGLImageKHR last_egl_image;
|
EGLImageKHR last_egl_image;
|
||||||
|
|
||||||
#ifdef HAVE_FREETYPE
|
|
||||||
char *mLastMsg;
|
char *mLastMsg;
|
||||||
uint32_t mFontHeight;
|
uint32_t mFontHeight;
|
||||||
VGFont mFont;
|
VGFont mFont;
|
||||||
font_renderer_t *mFontRenderer;
|
font_renderer_t *mFontRenderer;
|
||||||
|
const font_renderer_driver_t *font_driver
|
||||||
bool mFontsOn;
|
bool mFontsOn;
|
||||||
VGuint mMsgLength;
|
VGuint mMsgLength;
|
||||||
VGuint mGlyphIndices[1024];
|
VGuint mGlyphIndices[1024];
|
||||||
VGPaint mPaintFg;
|
VGPaint mPaintFg;
|
||||||
VGPaint mPaintBg;
|
VGPaint mPaintBg;
|
||||||
#endif
|
|
||||||
} vg_t;
|
} vg_t;
|
||||||
|
|
||||||
static PFNVGCREATEEGLIMAGETARGETKHRPROC pvgCreateEGLImageTargetKHR;
|
static PFNVGCREATEEGLIMAGETARGETKHRPROC pvgCreateEGLImageTargetKHR;
|
||||||
@ -138,22 +137,16 @@ static void *vg_init(const video_info_t *video, const input_driver_t **input, vo
|
|||||||
|
|
||||||
vg->driver->input_driver(input, input_data);
|
vg->driver->input_driver(input, input_data);
|
||||||
|
|
||||||
#ifdef HAVE_FREETYPE
|
if (g_settings.video.font_enable && font_renderer_create_default(vg->font_driver, vg->mFontRenderer))
|
||||||
if (g_settings.video.font_enable)
|
|
||||||
{
|
{
|
||||||
vg->mFont = vgCreateFont(0);
|
vg->mFont = vgCreateFont(0);
|
||||||
vg->mFontHeight = g_settings.video.font_size * (g_settings.video.font_scale ? (float) vg->mScreenWidth / 1280.0f : 1.0f);
|
|
||||||
|
|
||||||
const char *path = g_settings.video.font_path;
|
if (vg->mFont != VG_INVALID_HANDLE)
|
||||||
if (!*path || !path_file_exists(path))
|
|
||||||
path = font_renderer_get_default_font();
|
|
||||||
|
|
||||||
vg->mFontRenderer = font_renderer_new(path, vg->mFontHeight);
|
|
||||||
|
|
||||||
if (vg->mFont != VG_INVALID_HANDLE && vg->mFontRenderer)
|
|
||||||
{
|
{
|
||||||
vg->mFontsOn = true;
|
vg->mFontsOn = true;
|
||||||
|
|
||||||
|
vg->mFontHeight = g_settings.video.font_size * (g_settings.video.font_scale ? (float) vg->mScreenWidth / 1280.0f : 1.0f);
|
||||||
|
|
||||||
vg->mPaintFg = vgCreatePaint();
|
vg->mPaintFg = vgCreatePaint();
|
||||||
vg->mPaintBg = vgCreatePaint();
|
vg->mPaintBg = vgCreatePaint();
|
||||||
VGfloat paintFg[] = { g_settings.video.msg_color_r, g_settings.video.msg_color_g, g_settings.video.msg_color_b, 1.0f };
|
VGfloat paintFg[] = { g_settings.video.msg_color_r, g_settings.video.msg_color_g, g_settings.video.msg_color_b, 1.0f };
|
||||||
@ -166,7 +159,6 @@ static void *vg_init(const video_info_t *video, const input_driver_t **input, vo
|
|||||||
vgSetParameterfv(vg->mPaintBg, VG_PAINT_COLOR, 4, paintBg);
|
vgSetParameterfv(vg->mPaintBg, VG_PAINT_COLOR, 4, paintBg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
if (vg_query_extension("KHR_EGL_image") && vg->driver->init_egl_image_buffer(video))
|
if (vg_query_extension("KHR_EGL_image") && vg->driver->init_egl_image_buffer(video))
|
||||||
{
|
{
|
||||||
@ -194,23 +186,19 @@ static void vg_free(void *data)
|
|||||||
|
|
||||||
vgDestroyImage(vg->mImage);
|
vgDestroyImage(vg->mImage);
|
||||||
|
|
||||||
#ifdef HAVE_FREETYPE
|
|
||||||
if (vg->mFontsOn)
|
if (vg->mFontsOn)
|
||||||
{
|
{
|
||||||
vgDestroyFont(vg->mFont);
|
vgDestroyFont(vg->mFont);
|
||||||
font_renderer_free(vg->mFontRenderer);
|
vg->font_driver->free(vg->mFontRenderer);
|
||||||
vgDestroyPaint(vg->mPaintFg);
|
vgDestroyPaint(vg->mPaintFg);
|
||||||
vgDestroyPaint(vg->mPaintBg);
|
vgDestroyPaint(vg->mPaintBg);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
vg->driver->destroy();
|
vg->driver->destroy();
|
||||||
|
|
||||||
free(vg);
|
free(vg);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_FREETYPE
|
|
||||||
|
|
||||||
static void vg_render_message(vg_t *vg, const char *msg)
|
static void vg_render_message(vg_t *vg, const char *msg)
|
||||||
{
|
{
|
||||||
free(vg->mLastMsg);
|
free(vg->mLastMsg);
|
||||||
@ -225,7 +213,7 @@ static void vg_render_message(vg_t *vg, const char *msg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
struct font_output_list out;
|
struct font_output_list out;
|
||||||
font_renderer_msg(vg->mFontRenderer, msg, &out);
|
vg->font_driver->renderer_msg(vg->mFontRenderer, msg, &out);
|
||||||
struct font_output *head = out.head;
|
struct font_output *head = out.head;
|
||||||
|
|
||||||
while (head)
|
while (head)
|
||||||
@ -286,8 +274,6 @@ static void vg_draw_message(vg_t *vg, const char *msg)
|
|||||||
vgSeti(VG_IMAGE_MODE, VG_DRAW_IMAGE_NORMAL);
|
vgSeti(VG_IMAGE_MODE, VG_DRAW_IMAGE_NORMAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static void vg_calculate_quad(vg_t *vg)
|
static void vg_calculate_quad(vg_t *vg)
|
||||||
{
|
{
|
||||||
// set viewport for aspect ratio, taken from the OpenGL driver
|
// set viewport for aspect ratio, taken from the OpenGL driver
|
||||||
@ -399,12 +385,8 @@ static bool vg_frame(void *data, const void *frame, unsigned width, unsigned hei
|
|||||||
|
|
||||||
vgDrawImage(vg->mImage);
|
vgDrawImage(vg->mImage);
|
||||||
|
|
||||||
#ifdef HAVE_FREETYPE
|
|
||||||
if (msg && vg->mFontsOn)
|
if (msg && vg->mFontsOn)
|
||||||
vg_draw_message(vg, msg);
|
vg_draw_message(vg, msg);
|
||||||
#else
|
|
||||||
(void)msg;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
RARCH_PERFORMANCE_STOP(vg_fr);
|
RARCH_PERFORMANCE_STOP(vg_fr);
|
||||||
vg->driver->swap_buffers();
|
vg->driver->swap_buffers();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user