Memory allocation for `state' of renderer should be performed
on the SVG port side not the FT size. Minor doc fixes.
This commit is contained in:
parent
9ff1a33826
commit
509ae10ca5
|
@ -39,7 +39,7 @@ FT_BEGIN_HEADER
|
||||||
* A callback used to initiate the SVG Rendering port
|
* A callback used to initiate the SVG Rendering port
|
||||||
*
|
*
|
||||||
* @input:
|
* @input:
|
||||||
* library::
|
* library ::
|
||||||
* A instance of library. This is required to initialize the renderer's
|
* A instance of library. This is required to initialize the renderer's
|
||||||
* state which will be held in the library.
|
* 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.
|
* shall do all cleanups that the SVG Rendering port wants to do.
|
||||||
*
|
*
|
||||||
* @input:
|
* @input:
|
||||||
* library::
|
* library ::
|
||||||
* A instance of library. This is required to free the renderer's state
|
* A instance of library. This is required to free the renderer's state
|
||||||
* which will be held in the library.
|
* which will be held in the library.
|
||||||
*/
|
*/
|
||||||
|
@ -95,22 +95,6 @@ FT_BEGIN_HEADER
|
||||||
(*SVG_Lib_Render)( FT_GlyphSlot slot,
|
(*SVG_Lib_Render)( FT_GlyphSlot slot,
|
||||||
FT_BBox outline_bbox);
|
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:
|
* @functype:
|
||||||
|
@ -149,26 +133,22 @@ FT_BEGIN_HEADER
|
||||||
* Interface.
|
* Interface.
|
||||||
*
|
*
|
||||||
* @input:
|
* @input:
|
||||||
* module::
|
* module ::
|
||||||
* FT_Module instance.
|
* FT_Module instance.
|
||||||
*
|
*
|
||||||
* init_hook::
|
* init_hook ::
|
||||||
* A function pointer of the type `SVG_Lib_Init'. Read the documentation
|
* A function pointer of the type `SVG_Lib_Init'. Read the documentation
|
||||||
* of `SVG_Lib_Init'
|
* of `SVG_Lib_Init'
|
||||||
*
|
*
|
||||||
* free_hook::
|
* free_hook ::
|
||||||
* A function pointer of the type `SVG_Lib_Free'. Read the documentation
|
* A function pointer of the type `SVG_Lib_Free'. Read the documentation
|
||||||
* of `SVG_Lib_Free'.
|
* of `SVG_Lib_Free'.
|
||||||
*
|
*
|
||||||
* render_hook::
|
* render_hook ::
|
||||||
* A function pointer of the type `SVG_Lib_Render'. Read the
|
* A function pointer of the type `SVG_Lib_Render'. Read the
|
||||||
* documentation of `SVG_Lib_Render'.
|
* documentation of `SVG_Lib_Render'.
|
||||||
*
|
*
|
||||||
* get_state_size::
|
* get_buffer_size ::
|
||||||
* A function pointer of the type `SVG_Lib_Get_State_Size'. Read the
|
|
||||||
* documentation of `SVG_Lib_Get_State_Size'.
|
|
||||||
*
|
|
||||||
* get_buffer_size::
|
|
||||||
* A function pointer of the type `SVG_Lib_Get_Buffer_Size'. Read the
|
* A function pointer of the type `SVG_Lib_Get_Buffer_Size'. Read the
|
||||||
* documentation of `SVG_Lib_Get_Buffer_Size'.
|
* documentation of `SVG_Lib_Get_Buffer_Size'.
|
||||||
*
|
*
|
||||||
|
@ -181,7 +161,6 @@ FT_BEGIN_HEADER
|
||||||
SVG_Lib_Init init_hook,
|
SVG_Lib_Init init_hook,
|
||||||
SVG_Lib_Free free_hook,
|
SVG_Lib_Free free_hook,
|
||||||
SVG_Lib_Render render_hook,
|
SVG_Lib_Render render_hook,
|
||||||
SVG_Lib_Get_State_Size get_state_size,
|
|
||||||
SVG_Lib_Get_Buffer_Size get_buffer_size );
|
SVG_Lib_Get_Buffer_Size get_buffer_size );
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
|
@ -194,7 +173,7 @@ FT_BEGIN_HEADER
|
||||||
* rendering library hooks.
|
* rendering library hooks.
|
||||||
*
|
*
|
||||||
* @fields:
|
* @fields:
|
||||||
* set_hooks::
|
* set_hooks ::
|
||||||
* A function that can be called to set the hooks.
|
* A function that can be called to set the hooks.
|
||||||
*
|
*
|
||||||
* @return:
|
* @return:
|
||||||
|
@ -213,7 +192,6 @@ FT_BEGIN_HEADER
|
||||||
SVG_Lib_Init init_hook,
|
SVG_Lib_Init init_hook,
|
||||||
SVG_Lib_Free free_hook,
|
SVG_Lib_Free free_hook,
|
||||||
SVG_Lib_Render render_hook,
|
SVG_Lib_Render render_hook,
|
||||||
SVG_Lib_Get_State_Size get_state_size,
|
|
||||||
SVG_Lib_Get_Buffer_Size get_buffer_size );
|
SVG_Lib_Get_Buffer_Size get_buffer_size );
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
|
|
|
@ -5596,7 +5596,6 @@
|
||||||
SVG_Lib_Init init_hook,
|
SVG_Lib_Init init_hook,
|
||||||
SVG_Lib_Free free_hook,
|
SVG_Lib_Free free_hook,
|
||||||
SVG_Lib_Render render_hook,
|
SVG_Lib_Render render_hook,
|
||||||
SVG_Lib_Get_State_Size get_state_size,
|
|
||||||
SVG_Lib_Get_Buffer_Size get_buffer_size )
|
SVG_Lib_Get_Buffer_Size get_buffer_size )
|
||||||
{
|
{
|
||||||
FT_Module renderer;
|
FT_Module renderer;
|
||||||
|
@ -5614,7 +5613,6 @@
|
||||||
init_hook,
|
init_hook,
|
||||||
free_hook,
|
free_hook,
|
||||||
render_hook,
|
render_hook,
|
||||||
get_state_size,
|
|
||||||
get_buffer_size );
|
get_buffer_size );
|
||||||
return FT_Err_Ok;
|
return FT_Err_Ok;
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,10 +36,8 @@
|
||||||
ft_svg_done( SVG_Renderer svg_module )
|
ft_svg_done( SVG_Renderer svg_module )
|
||||||
{
|
{
|
||||||
FT_Library library = svg_module->root.root.library;
|
FT_Library library = svg_module->root.root.library;
|
||||||
FT_Memory memory = library->memory;
|
|
||||||
if ( svg_module->loaded == TRUE )
|
if ( svg_module->loaded == TRUE )
|
||||||
svg_module->hooks.svg_lib_free( library );
|
svg_module->hooks.svg_lib_free( library );
|
||||||
FT_FREE( library->svg_renderer_state );
|
|
||||||
svg_module->loaded = FALSE;
|
svg_module->loaded = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -54,17 +52,13 @@
|
||||||
FT_Memory memory = library->memory;
|
FT_Memory memory = library->memory;
|
||||||
FT_BBox outline_bbox;
|
FT_BBox outline_bbox;
|
||||||
FT_Error error;
|
FT_Error error;
|
||||||
|
FT_ULong size_image_buffer;
|
||||||
|
|
||||||
SVG_RendererHooks hooks = svg_renderer->hooks;
|
SVG_RendererHooks hooks = svg_renderer->hooks;
|
||||||
|
|
||||||
unsigned long size_image_buffer;
|
|
||||||
|
|
||||||
if ( svg_renderer->loaded == FALSE )
|
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 );
|
error = hooks.svg_lib_init( library );
|
||||||
svg_renderer->loaded = TRUE;
|
svg_renderer->loaded = TRUE;
|
||||||
}
|
}
|
||||||
|
@ -88,7 +82,6 @@
|
||||||
SVG_Lib_Init init_hook,
|
SVG_Lib_Init init_hook,
|
||||||
SVG_Lib_Free free_hook,
|
SVG_Lib_Free free_hook,
|
||||||
SVG_Lib_Render render_hook,
|
SVG_Lib_Render render_hook,
|
||||||
SVG_Lib_Get_State_Size get_state_size,
|
|
||||||
SVG_Lib_Get_Buffer_Size get_buffer_size )
|
SVG_Lib_Get_Buffer_Size get_buffer_size )
|
||||||
{
|
{
|
||||||
SVG_Renderer renderer;
|
SVG_Renderer renderer;
|
||||||
|
@ -98,7 +91,6 @@
|
||||||
renderer->hooks.svg_lib_free = free_hook;
|
renderer->hooks.svg_lib_free = free_hook;
|
||||||
renderer->hooks.svg_lib_render = render_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;
|
renderer->hooks.svg_lib_get_buffer_size = get_buffer_size;
|
||||||
|
|
||||||
return FT_Err_Ok;
|
return FT_Err_Ok;
|
||||||
|
|
|
@ -28,7 +28,6 @@
|
||||||
SVG_Lib_Free svg_lib_free;
|
SVG_Lib_Free svg_lib_free;
|
||||||
SVG_Lib_Render svg_lib_render;
|
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_Lib_Get_Buffer_Size svg_lib_get_buffer_size;
|
||||||
} SVG_RendererHooks;
|
} SVG_RendererHooks;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue