summaryrefslogtreecommitdiff
path: root/include/freetype/internal/services
diff options
context:
space:
mode:
authorDave Arnold <darnold@adobe.com>2016-12-05 22:08:15 +0100
committerWerner Lemberg <wl@gnu.org>2016-12-06 11:49:15 +0100
commitbcae657482ca038dc2b7c4ddd737a110c85e052a (patch)
treebec0ba89c2cf28c7efed007c5cf89b0415891e28 /include/freetype/internal/services
parentc0fae7da5a6503c6d38ec133483aba57b42c0ddb (diff)
downloadfreetype2-bcae657482ca038dc2b7c4ddd737a110c85e052a.tar.gz
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.
Diffstat (limited to 'include/freetype/internal/services')
-rw-r--r--include/freetype/internal/services/svmm.h16
1 files changed, 13 insertions, 3 deletions
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
@@ -59,6 +59,11 @@ FT_BEGIN_HEADER
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,
FT_Long* 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 */