1
/***************************************************************************/
5
/* The FreeType Multiple Masters and GX var services (specification). */
7
/* Copyright 2003, 2004 by */
8
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
10
/* This file is part of the FreeType project, and may only be used, */
11
/* modified, and distributed under the terms of the FreeType project */
12
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
13
/* this file you indicate that you have read the license and */
14
/* understand and accept it fully. */
16
/***************************************************************************/
22
#include FT_INTERNAL_SERVICE_H
29
* A service used to manage multiple-masters data in a given face.
31
* See the related APIs in `ftmm.h' (FT_MULTIPLE_MASTERS_H).
35
#define FT_SERVICE_ID_MULTI_MASTERS "multi-masters"
39
(*FT_Get_MM_Func)( FT_Face face,
40
FT_Multi_Master* master );
43
(*FT_Get_MM_Var_Func)( FT_Face face,
47
(*FT_Set_MM_Design_Func)( FT_Face face,
52
(*FT_Set_Var_Design_Func)( FT_Face face,
57
(*FT_Set_MM_Blend_Func)( FT_Face face,
62
FT_DEFINE_SERVICE( MultiMasters )
64
FT_Get_MM_Func get_mm;
65
FT_Set_MM_Design_Func set_mm_design;
66
FT_Set_MM_Blend_Func set_mm_blend;
67
FT_Get_MM_Var_Func get_mm_var;
68
FT_Set_Var_Design_Func set_var_design;
71
#ifndef FT_CONFIG_OPTION_PIC
73
#define FT_DEFINE_SERVICE_MULTIMASTERSREC(class_, get_mm_, set_mm_design_, \
74
set_mm_blend_, get_mm_var_, set_var_design_) \
75
static const FT_Service_MultiMastersRec class_ = \
77
get_mm_, set_mm_design_, set_mm_blend_, get_mm_var_, set_var_design_ \
80
#else /* FT_CONFIG_OPTION_PIC */
82
#define FT_DEFINE_SERVICE_MULTIMASTERSREC(class_, get_mm_, set_mm_design_, \
83
set_mm_blend_, get_mm_var_, set_var_design_) \
85
FT_Init_Class_##class_( FT_Service_MultiMastersRec* clazz ) \
87
clazz->get_mm = get_mm_; \
88
clazz->set_mm_design = set_mm_design_; \
89
clazz->set_mm_blend = set_mm_blend_; \
90
clazz->get_mm_var = get_mm_var_; \
91
clazz->set_var_design = set_var_design_; \
94
#endif /* FT_CONFIG_OPTION_PIC */
101
#endif /* __SVMM_H__ */