diff --git a/include/freetype/svgrenderer.h b/include/freetype/svgrenderer.h index e74e24528..1213d3329 100644 --- a/include/freetype/svgrenderer.h +++ b/include/freetype/svgrenderer.h @@ -93,8 +93,8 @@ FT_BEGIN_HEADER * Interface. * * @input: - * library:: - * FT_Library instance. + * module:: + * FT_Module instance. * * init_hook:: * A function pointer of the type `SVG_Lib_Init'. Read the documentation @@ -113,7 +113,7 @@ FT_BEGIN_HEADER */ typedef FT_Error - (*SVG_Set_Hooks)( FT_Library library, + (*SVG_Set_Hooks)( FT_Module module, SVG_Lib_Init init_hook, SVG_Lib_Free free_hook, SVG_Lib_Render render_hook ); diff --git a/src/base/ftobjs.c b/src/base/ftobjs.c index 09c97ab26..02e01780f 100644 --- a/src/base/ftobjs.c +++ b/src/base/ftobjs.c @@ -4541,7 +4541,7 @@ break; case FT_GLYPH_FORMAT_SVG: /* handle svg rendering */ renderer = FT_Lookup_Renderer( library, slot->format, NULL ); - + error = renderer->clazz->render_glyph( renderer, slot, FT_RENDER_MODE_NORMAL, NULL); break; default: if ( slot->internal->load_flags & FT_LOAD_COLOR ) @@ -5561,7 +5561,7 @@ renderer = FT_Get_Module( library, "ot-svg" ); svg = (SVG_Renderer_Interface*)renderer->clazz->module_interface; - svg->set_hooks(library, init_hook, free_hook, render_hook); + svg->set_hooks(renderer, init_hook, free_hook, render_hook); return FT_Err_Ok; } diff --git a/src/svg/ftsvg.c b/src/svg/ftsvg.c index 1b922594e..4eba6dfaa 100644 --- a/src/svg/ftsvg.c +++ b/src/svg/ftsvg.c @@ -38,12 +38,7 @@ ft_svg_init( SVG_Renderer svg_module ) { FT_Error error = FT_Err_Ok; - SVG_RendererHooks hooks; - - hooks.svg_lib_init = tmp_svg_lib_init; - svg_module->hooks = hooks; svg_module->loaded = FALSE; - return error; } @@ -56,10 +51,12 @@ SVG_Renderer renderer_ = (SVG_Renderer)renderer; if( renderer_->loaded == FALSE ) + { renderer_->loaded = TRUE; + renderer_->hooks.svg_lib_init(); + } - renderer_->hooks.svg_lib_init(); - return FT_Err_Ok; + return renderer_->hooks.svg_lib_render( slot ); } static FT_Error