static inline void gl_deinit_font(gl_t *gl) { #ifdef HAVE_FREETYPE if (gl->font) { font_renderer_free(gl->font); glDeleteTextures(1, &gl->font_tex); if (gl->font_tex_empty_buf) free(gl->font_tex_empty_buf); } #else (void)gl; #endif }
static void sdl_gfx_free(void *data) { sdl_video_t *vid = (sdl_video_t*)data; if (!vid) return; if (vid->buffer) SDL_FreeSurface(vid->buffer); SDL_QuitSubSystem(SDL_INIT_VIDEO); #ifdef HAVE_FREETYPE if (vid->font) font_renderer_free(vid->font); #endif scaler_ctx_gen_reset(&vid->scaler); free(vid); }
static void rpi_free(void *data) { rpi_t *rpi = (rpi_t*)data; vgDestroyImage(rpi->mImage); #ifdef HAVE_FREETYPE if (rpi->mFontsOn) { vgDestroyFont(rpi->mFont); font_renderer_free(rpi->mFontRenderer); vgDestroyPaint(rpi->mPaintFg); vgDestroyPaint(rpi->mPaintBg); } #endif // Release EGL resources eglMakeCurrent(rpi->mDisplay, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT); eglDestroySurface(rpi->mDisplay, rpi->mSurface); eglDestroyContext(rpi->mDisplay, rpi->mContext); eglTerminate(rpi->mDisplay); free(rpi); }