OLD | NEW |
1 /***************************************************************************/ | 1 /***************************************************************************/ |
2 /* */ | 2 /* */ |
3 /* svmm.h */ | 3 /* svmm.h */ |
4 /* */ | 4 /* */ |
5 /* The FreeType Multiple Masters and GX var services (specification). */ | 5 /* The FreeType Multiple Masters and GX var services (specification). */ |
6 /* */ | 6 /* */ |
7 /* Copyright 2003, 2004 by */ | 7 /* Copyright 2003, 2004, 2009, 2012 by */ |
8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */ | 8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */ |
9 /* */ | 9 /* */ |
10 /* This file is part of the FreeType project, and may only be used, */ | 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 */ | 11 /* modified, and distributed under the terms of the FreeType project */ |
12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ | 12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ |
13 /* this file you indicate that you have read the license and */ | 13 /* this file you indicate that you have read the license and */ |
14 /* understand and accept it fully. */ | 14 /* understand and accept it fully. */ |
15 /* */ | 15 /* */ |
16 /***************************************************************************/ | 16 /***************************************************************************/ |
17 | 17 |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
61 | 61 |
62 FT_DEFINE_SERVICE( MultiMasters ) | 62 FT_DEFINE_SERVICE( MultiMasters ) |
63 { | 63 { |
64 FT_Get_MM_Func get_mm; | 64 FT_Get_MM_Func get_mm; |
65 FT_Set_MM_Design_Func set_mm_design; | 65 FT_Set_MM_Design_Func set_mm_design; |
66 FT_Set_MM_Blend_Func set_mm_blend; | 66 FT_Set_MM_Blend_Func set_mm_blend; |
67 FT_Get_MM_Var_Func get_mm_var; | 67 FT_Get_MM_Var_Func get_mm_var; |
68 FT_Set_Var_Design_Func set_var_design; | 68 FT_Set_Var_Design_Func set_var_design; |
69 }; | 69 }; |
70 | 70 |
| 71 |
71 #ifndef FT_CONFIG_OPTION_PIC | 72 #ifndef FT_CONFIG_OPTION_PIC |
72 | 73 |
73 #define FT_DEFINE_SERVICE_MULTIMASTERSREC(class_, get_mm_, set_mm_design_, \ | 74 #define FT_DEFINE_SERVICE_MULTIMASTERSREC( class_, \ |
74 set_mm_blend_, get_mm_var_, set_var_design_) \ | 75 get_mm_, \ |
75 static const FT_Service_MultiMastersRec class_ = \ | 76 set_mm_design_, \ |
76 { \ | 77 set_mm_blend_, \ |
77 get_mm_, set_mm_design_, set_mm_blend_, get_mm_var_, set_var_design_ \ | 78 get_mm_var_, \ |
| 79 set_var_design_ ) \ |
| 80 static const FT_Service_MultiMastersRec class_ = \ |
| 81 { \ |
| 82 get_mm_, set_mm_design_, set_mm_blend_, get_mm_var_, set_var_design_ \ |
78 }; | 83 }; |
79 | 84 |
80 #else /* FT_CONFIG_OPTION_PIC */ | 85 #else /* FT_CONFIG_OPTION_PIC */ |
81 | 86 |
82 #define FT_DEFINE_SERVICE_MULTIMASTERSREC(class_, get_mm_, set_mm_design_, \ | 87 #define FT_DEFINE_SERVICE_MULTIMASTERSREC( class_, \ |
83 set_mm_blend_, get_mm_var_, set_var_design_) \ | 88 get_mm_, \ |
84 void \ | 89 set_mm_design_, \ |
85 FT_Init_Class_##class_( FT_Service_MultiMastersRec* clazz ) \ | 90 set_mm_blend_, \ |
86 { \ | 91 get_mm_var_, \ |
87 clazz->get_mm = get_mm_; \ | 92 set_var_design_ ) \ |
88 clazz->set_mm_design = set_mm_design_; \ | 93 void \ |
89 clazz->set_mm_blend = set_mm_blend_; \ | 94 FT_Init_Class_ ## class_( FT_Service_MultiMastersRec* clazz ) \ |
90 clazz->get_mm_var = get_mm_var_; \ | 95 { \ |
91 clazz->set_var_design = set_var_design_; \ | 96 clazz->get_mm = get_mm_; \ |
92 } | 97 clazz->set_mm_design = set_mm_design_; \ |
| 98 clazz->set_mm_blend = set_mm_blend_; \ |
| 99 clazz->get_mm_var = get_mm_var_; \ |
| 100 clazz->set_var_design = set_var_design_; \ |
| 101 } |
93 | 102 |
94 #endif /* FT_CONFIG_OPTION_PIC */ | 103 #endif /* FT_CONFIG_OPTION_PIC */ |
95 | 104 |
96 /* */ | 105 /* */ |
97 | 106 |
98 | 107 |
99 FT_END_HEADER | 108 FT_END_HEADER |
100 | 109 |
101 #endif /* __SVMM_H__ */ | 110 #endif /* __SVMM_H__ */ |
102 | 111 |
103 | 112 |
104 /* END */ | 113 /* END */ |
OLD | NEW |