[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2] hooks-via-module-property f40ef22: Instead of individual pro
From: |
Moazin Khatti |
Subject: |
[freetype2] hooks-via-module-property f40ef22: Instead of individual properties. Just use one that |
Date: |
Wed, 17 Jul 2019 15:09:01 -0400 (EDT) |
branch: hooks-via-module-property
commit f40ef225a20b60ee6ec5a6f78a7af43e1a70840b
Author: Moazin Khatti <address@hidden>
Commit: Moazin Khatti <address@hidden>
Instead of individual properties. Just use one that
takes pointer to the hooks structure.
---
include/freetype/svgrender.h | 10 ++++++++++
src/svg/ftsvg.c | 35 ++++++++---------------------------
src/svg/svgtypes.c | 10 ----------
3 files changed, 18 insertions(+), 37 deletions(-)
diff --git a/include/freetype/svgrender.h b/include/freetype/svgrender.h
index 670e93f..b0932b4 100644
--- a/include/freetype/svgrender.h
+++ b/include/freetype/svgrender.h
@@ -121,6 +121,16 @@ FT_BEGIN_HEADER
(*SVG_Lib_Get_Buffer_Size_Func)( FT_GlyphSlot slot,
FT_BBox bbox );
+ typedef struct SVG_RendererHooks_
+ {
+ /* Api Hooks for OT-SVG Rendering */
+ SVG_Lib_Init_Func init_svg;
+ SVG_Lib_Free_Func free_svg;
+ SVG_Lib_Render_Func render_svg;
+
+ SVG_Lib_Get_Buffer_Size_Func get_buffer_size;
+ } SVG_RendererHooks;
+
/**************************************************************************
*
* @struct:
diff --git a/src/svg/ftsvg.c b/src/svg/ftsvg.c
index a87675b..0486b74 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
{
diff --git a/src/svg/svgtypes.c b/src/svg/svgtypes.c
index 4a32941..b82d51e 100644
--- a/src/svg/svgtypes.c
+++ b/src/svg/svgtypes.c
@@ -21,16 +21,6 @@
#include FT_RENDER_H
#include FT_SVG_RENDER_H
- typedef struct SVG_RendererHooks_
- {
- /* Api Hooks for OT-SVG Rendering */
- SVG_Lib_Init_Func init_svg;
- SVG_Lib_Free_Func free_svg;
- SVG_Lib_Render_Func render_svg;
-
- SVG_Lib_Get_Buffer_Size_Func get_buffer_size;
- } SVG_RendererHooks;
-
typedef struct SVG_RendererRec_
{
FT_RendererRec root; /* This inherits FT_RendererRec */
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2] hooks-via-module-property f40ef22: Instead of individual properties. Just use one that,
Moazin Khatti <=