From bcae657482ca038dc2b7c4ddd737a110c85e052a Mon Sep 17 00:00:00 2001 From: Dave Arnold Date: Mon, 5 Dec 2016 22:08:15 +0100 Subject: Add `FT_Get_Var_Design_Coordinates' function. Note that the low-level functions aren't implemented yet. * include/freetype/ftmm.h: Declare. * include/freetype/internal/services/svmm.h (FT_Get_Var_Design_Func): New typedef. (MultiMasters): New MM service function `get_var_design'. (FT_DEFINE_SERVICE_MULTIMASTERSREC): Updated. Update all callers. * src/base/ftmm.c (FT_Get_Var_Design_Coordinates): Implement. * src/truetype/ttdriver.c: Updated. * src/truetype/ttgxvar.c (TT_Get_Var_Design): New dummy function to handle `get_var_design' service. * src/truetype/ttgxvar.h: Updated. * src/type1/t1driver.c: Updated. * src/type1/t1load.c (T1_Get_Var_Design): New dummp function to handle `get_var_design' service. * src/type1/t1load.h: Updated. --- include/freetype/internal/services/svmm.h | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'include/freetype/internal/services') diff --git a/include/freetype/internal/services/svmm.h b/include/freetype/internal/services/svmm.h index 809235807..e4d34ba0c 100644 --- a/include/freetype/internal/services/svmm.h +++ b/include/freetype/internal/services/svmm.h @@ -58,6 +58,11 @@ FT_BEGIN_HEADER FT_UInt num_coords, FT_Long* coords ); + typedef FT_Error + (*FT_Get_Var_Design_Func)( FT_Face face, + FT_UInt num_coords, + FT_Fixed* coords ); + typedef FT_Error (*FT_Get_MM_Blend_Func)( FT_Face face, FT_UInt num_coords, @@ -72,6 +77,7 @@ FT_BEGIN_HEADER FT_Get_MM_Blend_Func get_mm_blend; FT_Get_MM_Var_Func get_mm_var; FT_Set_Var_Design_Func set_var_design; + FT_Get_Var_Design_Func get_var_design; }; @@ -83,7 +89,8 @@ FT_BEGIN_HEADER set_mm_blend_, \ get_mm_blend_, \ get_mm_var_, \ - set_var_design_ ) \ + set_var_design_, \ + get_var_design_ ) \ static const FT_Service_MultiMastersRec class_ = \ { \ get_mm_, \ @@ -91,7 +98,8 @@ FT_BEGIN_HEADER set_mm_blend_, \ get_mm_blend_, \ get_mm_var_, \ - set_var_design_ \ + set_var_design_, \ + get_var_design_ \ }; #else /* FT_CONFIG_OPTION_PIC */ @@ -102,7 +110,8 @@ FT_BEGIN_HEADER set_mm_blend_, \ get_mm_blend_, \ get_mm_var_, \ - set_var_design_ ) \ + set_var_design_, \ + get_var_design_ ) \ void \ FT_Init_Class_ ## class_( FT_Service_MultiMastersRec* clazz ) \ { \ @@ -112,6 +121,7 @@ FT_BEGIN_HEADER clazz->get_mm_blend = get_mm_blend_; \ clazz->get_mm_var = get_mm_var_; \ clazz->set_var_design = set_var_design_; \ + clazz->get_var_design = get_var_design_; \ } #endif /* FT_CONFIG_OPTION_PIC */ -- cgit v1.2.1