From fbdd9f9ba38736537d3daf53abcdbb03704fb5d0 Mon Sep 17 00:00:00 2001 From: Moazin Khatti Date: Wed, 10 Jul 2019 13:58:59 +0500 Subject: [PATCH] Memory allocation for `state' of renderer should be performed on the SVG port side not the FT size. Minor doc fixes. --- include/freetype/svgrenderer.h | 38 +++++++--------------------------- src/base/ftobjs.c | 2 -- src/svg/ftsvg.c | 10 +-------- src/svg/svgtypes.c | 1 - 4 files changed, 9 insertions(+), 42 deletions(-) diff --git a/include/freetype/svgrenderer.h b/include/freetype/svgrenderer.h index 2f6e83fc4..2988d4fae 100644 --- a/include/freetype/svgrenderer.h +++ b/include/freetype/svgrenderer.h @@ -39,7 +39,7 @@ FT_BEGIN_HEADER * A callback used to initiate the SVG Rendering port * * @input: - * library:: + * library :: * A instance of library. This is required to initialize the renderer's * state which will be held in the library. * @@ -62,7 +62,7 @@ FT_BEGIN_HEADER * shall do all cleanups that the SVG Rendering port wants to do. * * @input: - * library:: + * library :: * A instance of library. This is required to free the renderer's state * which will be held in the library. */ @@ -95,22 +95,6 @@ FT_BEGIN_HEADER (*SVG_Lib_Render)( FT_GlyphSlot slot, FT_BBox outline_bbox); - /************************************************************************** - * - * @functype: - * SVG_Lib_Get_State_Size - * - * @description: - * A callback which is called to query the size of the state stucture. - * This is used for allocating the state structure in library. - * - * @return: - * Size of the state structure in bytes. - */ - - typedef FT_UInt - (*SVG_Lib_Get_State_Size)( ); - /************************************************************************** * * @functype: @@ -149,26 +133,22 @@ FT_BEGIN_HEADER * Interface. * * @input: - * module:: + * module :: * FT_Module instance. * - * init_hook:: + * init_hook :: * A function pointer of the type `SVG_Lib_Init'. Read the documentation * of `SVG_Lib_Init' * - * free_hook:: + * free_hook :: * A function pointer of the type `SVG_Lib_Free'. Read the documentation * of `SVG_Lib_Free'. * - * render_hook:: + * render_hook :: * A function pointer of the type `SVG_Lib_Render'. Read the * documentation of `SVG_Lib_Render'. * - * get_state_size:: - * A function pointer of the type `SVG_Lib_Get_State_Size'. Read the - * documentation of `SVG_Lib_Get_State_Size'. - * - * get_buffer_size:: + * get_buffer_size :: * A function pointer of the type `SVG_Lib_Get_Buffer_Size'. Read the * documentation of `SVG_Lib_Get_Buffer_Size'. * @@ -181,7 +161,6 @@ FT_BEGIN_HEADER SVG_Lib_Init init_hook, SVG_Lib_Free free_hook, SVG_Lib_Render render_hook, - SVG_Lib_Get_State_Size get_state_size, SVG_Lib_Get_Buffer_Size get_buffer_size ); /************************************************************************** @@ -194,7 +173,7 @@ FT_BEGIN_HEADER * rendering library hooks. * * @fields: - * set_hooks:: + * set_hooks :: * A function that can be called to set the hooks. * * @return: @@ -213,7 +192,6 @@ FT_BEGIN_HEADER SVG_Lib_Init init_hook, SVG_Lib_Free free_hook, SVG_Lib_Render render_hook, - SVG_Lib_Get_State_Size get_state_size, SVG_Lib_Get_Buffer_Size get_buffer_size ); /************************************************************************** diff --git a/src/base/ftobjs.c b/src/base/ftobjs.c index 770b29027..aec7cc5b4 100644 --- a/src/base/ftobjs.c +++ b/src/base/ftobjs.c @@ -5596,7 +5596,6 @@ SVG_Lib_Init init_hook, SVG_Lib_Free free_hook, SVG_Lib_Render render_hook, - SVG_Lib_Get_State_Size get_state_size, SVG_Lib_Get_Buffer_Size get_buffer_size ) { FT_Module renderer; @@ -5614,7 +5613,6 @@ init_hook, free_hook, render_hook, - get_state_size, get_buffer_size ); return FT_Err_Ok; } diff --git a/src/svg/ftsvg.c b/src/svg/ftsvg.c index bf027c52f..59057d2bd 100644 --- a/src/svg/ftsvg.c +++ b/src/svg/ftsvg.c @@ -36,10 +36,8 @@ ft_svg_done( SVG_Renderer svg_module ) { FT_Library library = svg_module->root.root.library; - FT_Memory memory = library->memory; if ( svg_module->loaded == TRUE ) svg_module->hooks.svg_lib_free( library ); - FT_FREE( library->svg_renderer_state ); svg_module->loaded = FALSE; } @@ -54,17 +52,13 @@ FT_Memory memory = library->memory; FT_BBox outline_bbox; FT_Error error; + FT_ULong size_image_buffer; SVG_RendererHooks hooks = svg_renderer->hooks; - unsigned long size_image_buffer; if ( svg_renderer->loaded == FALSE ) { - FT_MEM_ALLOC( library->svg_renderer_state, - hooks.svg_lib_get_state_size() ); - if ( error ) - return error; error = hooks.svg_lib_init( library ); svg_renderer->loaded = TRUE; } @@ -88,7 +82,6 @@ SVG_Lib_Init init_hook, SVG_Lib_Free free_hook, SVG_Lib_Render render_hook, - SVG_Lib_Get_State_Size get_state_size, SVG_Lib_Get_Buffer_Size get_buffer_size ) { SVG_Renderer renderer; @@ -98,7 +91,6 @@ renderer->hooks.svg_lib_free = free_hook; renderer->hooks.svg_lib_render = render_hook; - renderer->hooks.svg_lib_get_state_size = get_state_size; renderer->hooks.svg_lib_get_buffer_size = get_buffer_size; return FT_Err_Ok; diff --git a/src/svg/svgtypes.c b/src/svg/svgtypes.c index d3938581d..dbbd7f8d2 100644 --- a/src/svg/svgtypes.c +++ b/src/svg/svgtypes.c @@ -28,7 +28,6 @@ SVG_Lib_Free svg_lib_free; SVG_Lib_Render svg_lib_render; - SVG_Lib_Get_State_Size svg_lib_get_state_size; SVG_Lib_Get_Buffer_Size svg_lib_get_buffer_size; } SVG_RendererHooks;