diff options
Diffstat (limited to 'src/svg/ftsvg.c')
-rw-r--r-- | src/svg/ftsvg.c | 35 |
1 files changed, 8 insertions, 27 deletions
diff --git a/src/svg/ftsvg.c b/src/svg/ftsvg.c index a87675b46..0486b74c3 100644 --- a/src/svg/ftsvg.c +++ b/src/svg/ftsvg.c @@ -88,14 +88,11 @@ FT_Error error = FT_Err_Ok; SVG_Renderer renderer = (SVG_Renderer)module; - if ( !ft_strcmp( property_name, "init_svg_hook" ) ) - renderer->hooks.init_svg = (SVG_Lib_Init_Func)value; - else if ( !ft_strcmp( property_name, "free_svg_hook" ) ) - renderer->hooks.free_svg = (SVG_Lib_Free_Func)value; - else if ( !ft_strcmp( property_name, "render_svg_hook" ) ) - renderer->hooks.render_svg = (SVG_Lib_Render_Func)value; - else if ( !ft_strcmp( property_name, "get_buffer_size_hook" ) ) - renderer->hooks.get_buffer_size = (SVG_Lib_Get_Buffer_Size_Func)value; + if ( !ft_strcmp( property_name, "svg_hooks" ) ) + { + SVG_RendererHooks* hooks = (SVG_RendererHooks*)value; + renderer->hooks = *hooks; + } else { error = FT_THROW( Missing_Property ); @@ -111,26 +108,10 @@ FT_Error error = FT_Err_Ok; SVG_Renderer renderer = (SVG_Renderer)module; - if ( !ft_strcmp( property_name, "init_svg_hook" ) ) - { - SVG_Lib_Init_Func* val = (SVG_Lib_Init_Func*)value; - *val = (SVG_Lib_Init_Func)renderer->hooks.init_svg; - } - else if ( !ft_strcmp( property_name, "free_svg_hook" ) ) - { - SVG_Lib_Free_Func* val = (SVG_Lib_Free_Func*)value; - *val = (SVG_Lib_Free_Func)renderer->hooks.free_svg; - } - else if ( !ft_strcmp( property_name, "render_svg_hook" ) ) - { - SVG_Lib_Render_Func* val = (SVG_Lib_Render_Func*)value; - *val = (SVG_Lib_Render_Func)renderer->hooks.render_svg; - } - else if ( !ft_strcmp( property_name, "get_buffer_size_hook" ) ) + if ( !ft_strcmp( property_name, "svg_hooks" ) ) { - SVG_Lib_Get_Buffer_Size_Func* val; - val = (SVG_Lib_Get_Buffer_Size_Func*)value; - *val = (SVG_Lib_Get_Buffer_Size_Func)renderer->hooks.render_svg; + SVG_RendererHooks* hooks = (SVG_RendererHooks*)value; + *hooks = renderer->hooks; } else { |