Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(223)

Side by Side Diff: third_party/freetype/src/base/ftmm.c

Issue 815103002: Update freetype to 2.5.4. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Adjust GYP and GN Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/freetype/src/base/ftmac.c ('k') | third_party/freetype/src/base/ftobjs.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #if !defined(_FXFT_VERSION_) || _FXFT_VERSION_ == 2501
2 /***************************************************************************/ 1 /***************************************************************************/
3 /* */ 2 /* */
4 /* ftmm.c */ 3 /* ftmm.c */
5 /* */ 4 /* */
6 /* Multiple Master font support (body). */ 5 /* Multiple Master font support (body). */
7 /* */ 6 /* */
8 /* Copyright 1996-2001, 2003, 2004, 2009, 2013 by */ 7 /* Copyright 1996-2001, 2003, 2004, 2009, 2013, 2014 by */
9 /* David Turner, Robert Wilhelm, and Werner Lemberg. */ 8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */
10 /* */ 9 /* */
11 /* 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, */
12 /* modified, and distributed under the terms of the FreeType project */ 11 /* modified, and distributed under the terms of the FreeType project */
13 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */
14 /* this file you indicate that you have read the license and */ 13 /* this file you indicate that you have read the license and */
15 /* understand and accept it fully. */ 14 /* understand and accept it fully. */
16 /* */ 15 /* */
17 /***************************************************************************/ 16 /***************************************************************************/
18 17
19 #define FT2_BUILD_LIBRARY 18
20 #include "../../include/ft2build.h" 19 #include <ft2build.h>
21 #include "../../include/freetype/internal/ftdebug.h" 20 #include FT_INTERNAL_DEBUG_H
22 #include "../../include/freetype/ftmm.h" 21
23 #include "../../include/freetype/internal/ftobjs.h" 22 #include FT_MULTIPLE_MASTERS_H
24 #include "../../include/freetype/internal/services/svmm.h" 23 #include FT_INTERNAL_OBJECTS_H
24 #include FT_SERVICE_MULTIPLE_MASTERS_H
25 25
26 26
27 /*************************************************************************/ 27 /*************************************************************************/
28 /* */ 28 /* */
29 /* The macro FT_COMPONENT is used in trace mode. It is an implicit */ 29 /* The macro FT_COMPONENT is used in trace mode. It is an implicit */
30 /* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */ 30 /* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */
31 /* messages during execution. */ 31 /* messages during execution. */
32 /* */ 32 /* */
33 #undef FT_COMPONENT 33 #undef FT_COMPONENT
34 #define FT_COMPONENT trace_mm 34 #define FT_COMPONENT trace_mm
(...skipping 30 matching lines...) Expand all
65 /* documentation is in ftmm.h */ 65 /* documentation is in ftmm.h */
66 66
67 FT_EXPORT_DEF( FT_Error ) 67 FT_EXPORT_DEF( FT_Error )
68 FT_Get_Multi_Master( FT_Face face, 68 FT_Get_Multi_Master( FT_Face face,
69 FT_Multi_Master *amaster ) 69 FT_Multi_Master *amaster )
70 { 70 {
71 FT_Error error; 71 FT_Error error;
72 FT_Service_MultiMasters service; 72 FT_Service_MultiMasters service;
73 73
74 74
75 /* check of `face' delayed to `ft_face_get_mm_service' */
76
77 if ( !amaster )
78 return FT_THROW( Invalid_Argument );
79
75 error = ft_face_get_mm_service( face, &service ); 80 error = ft_face_get_mm_service( face, &service );
76 if ( !error ) 81 if ( !error )
77 { 82 {
78 error = FT_ERR( Invalid_Argument ); 83 error = FT_ERR( Invalid_Argument );
79 if ( service->get_mm ) 84 if ( service->get_mm )
80 error = service->get_mm( face, amaster ); 85 error = service->get_mm( face, amaster );
81 } 86 }
82 87
83 return error; 88 return error;
84 } 89 }
85 90
86 91
87 /* documentation is in ftmm.h */ 92 /* documentation is in ftmm.h */
88 93
89 FT_EXPORT_DEF( FT_Error ) 94 FT_EXPORT_DEF( FT_Error )
90 FT_Get_MM_Var( FT_Face face, 95 FT_Get_MM_Var( FT_Face face,
91 FT_MM_Var* *amaster ) 96 FT_MM_Var* *amaster )
92 { 97 {
93 FT_Error error; 98 FT_Error error;
94 FT_Service_MultiMasters service; 99 FT_Service_MultiMasters service;
95 100
96 101
102 /* check of `face' delayed to `ft_face_get_mm_service' */
103
104 if ( !amaster )
105 return FT_THROW( Invalid_Argument );
106
97 error = ft_face_get_mm_service( face, &service ); 107 error = ft_face_get_mm_service( face, &service );
98 if ( !error ) 108 if ( !error )
99 { 109 {
100 error = FT_ERR( Invalid_Argument ); 110 error = FT_ERR( Invalid_Argument );
101 if ( service->get_mm_var ) 111 if ( service->get_mm_var )
102 error = service->get_mm_var( face, amaster ); 112 error = service->get_mm_var( face, amaster );
103 } 113 }
104 114
105 return error; 115 return error;
106 } 116 }
107 117
108 118
109 /* documentation is in ftmm.h */ 119 /* documentation is in ftmm.h */
110 120
111 FT_EXPORT_DEF( FT_Error ) 121 FT_EXPORT_DEF( FT_Error )
112 FT_Set_MM_Design_Coordinates( FT_Face face, 122 FT_Set_MM_Design_Coordinates( FT_Face face,
113 FT_UInt num_coords, 123 FT_UInt num_coords,
114 FT_Long* coords ) 124 FT_Long* coords )
115 { 125 {
116 FT_Error error; 126 FT_Error error;
117 FT_Service_MultiMasters service; 127 FT_Service_MultiMasters service;
118 128
119 129
130 /* check of `face' delayed to `ft_face_get_mm_service' */
131
132 if ( !coords )
133 return FT_THROW( Invalid_Argument );
134
120 error = ft_face_get_mm_service( face, &service ); 135 error = ft_face_get_mm_service( face, &service );
121 if ( !error ) 136 if ( !error )
122 { 137 {
123 error = FT_ERR( Invalid_Argument ); 138 error = FT_ERR( Invalid_Argument );
124 if ( service->set_mm_design ) 139 if ( service->set_mm_design )
125 error = service->set_mm_design( face, num_coords, coords ); 140 error = service->set_mm_design( face, num_coords, coords );
126 } 141 }
127 142
128 return error; 143 return error;
129 } 144 }
130 145
131 146
132 /* documentation is in ftmm.h */ 147 /* documentation is in ftmm.h */
133 148
134 FT_EXPORT_DEF( FT_Error ) 149 FT_EXPORT_DEF( FT_Error )
135 FT_Set_Var_Design_Coordinates( FT_Face face, 150 FT_Set_Var_Design_Coordinates( FT_Face face,
136 FT_UInt num_coords, 151 FT_UInt num_coords,
137 FT_Fixed* coords ) 152 FT_Fixed* coords )
138 { 153 {
139 FT_Error error; 154 FT_Error error;
140 FT_Service_MultiMasters service; 155 FT_Service_MultiMasters service;
141 156
142 157
158 /* check of `face' delayed to `ft_face_get_mm_service' */
159
160 if ( !coords )
161 return FT_THROW( Invalid_Argument );
162
143 error = ft_face_get_mm_service( face, &service ); 163 error = ft_face_get_mm_service( face, &service );
144 if ( !error ) 164 if ( !error )
145 { 165 {
146 error = FT_ERR( Invalid_Argument ); 166 error = FT_ERR( Invalid_Argument );
147 if ( service->set_var_design ) 167 if ( service->set_var_design )
148 error = service->set_var_design( face, num_coords, coords ); 168 error = service->set_var_design( face, num_coords, coords );
149 } 169 }
150 170
151 return error; 171 return error;
152 } 172 }
153 173
154 174
155 /* documentation is in ftmm.h */ 175 /* documentation is in ftmm.h */
156 176
157 FT_EXPORT_DEF( FT_Error ) 177 FT_EXPORT_DEF( FT_Error )
158 FT_Set_MM_Blend_Coordinates( FT_Face face, 178 FT_Set_MM_Blend_Coordinates( FT_Face face,
159 FT_UInt num_coords, 179 FT_UInt num_coords,
160 FT_Fixed* coords ) 180 FT_Fixed* coords )
161 { 181 {
162 FT_Error error; 182 FT_Error error;
163 FT_Service_MultiMasters service; 183 FT_Service_MultiMasters service;
164 184
165 185
186 /* check of `face' delayed to `ft_face_get_mm_service' */
187
188 if ( !coords )
189 return FT_THROW( Invalid_Argument );
190
166 error = ft_face_get_mm_service( face, &service ); 191 error = ft_face_get_mm_service( face, &service );
167 if ( !error ) 192 if ( !error )
168 { 193 {
169 error = FT_ERR( Invalid_Argument ); 194 error = FT_ERR( Invalid_Argument );
170 if ( service->set_mm_blend ) 195 if ( service->set_mm_blend )
171 error = service->set_mm_blend( face, num_coords, coords ); 196 error = service->set_mm_blend( face, num_coords, coords );
172 } 197 }
173 198
174 return error; 199 return error;
175 } 200 }
176 201
177 202
178 /* documentation is in ftmm.h */ 203 /* documentation is in ftmm.h */
179 204
180 /* This is exactly the same as the previous function. It exists for */ 205 /* This is exactly the same as the previous function. It exists for */
181 /* orthogonality. */ 206 /* orthogonality. */
182 207
183 FT_EXPORT_DEF( FT_Error ) 208 FT_EXPORT_DEF( FT_Error )
184 FT_Set_Var_Blend_Coordinates( FT_Face face, 209 FT_Set_Var_Blend_Coordinates( FT_Face face,
185 FT_UInt num_coords, 210 FT_UInt num_coords,
186 FT_Fixed* coords ) 211 FT_Fixed* coords )
187 { 212 {
188 FT_Error error; 213 FT_Error error;
189 FT_Service_MultiMasters service; 214 FT_Service_MultiMasters service;
190 215
191 216
217 /* check of `face' delayed to `ft_face_get_mm_service' */
218
219 if ( !coords )
220 return FT_THROW( Invalid_Argument );
221
192 error = ft_face_get_mm_service( face, &service ); 222 error = ft_face_get_mm_service( face, &service );
193 if ( !error ) 223 if ( !error )
194 { 224 {
195 error = FT_ERR( Invalid_Argument ); 225 error = FT_ERR( Invalid_Argument );
196 if ( service->set_mm_blend ) 226 if ( service->set_mm_blend )
197 error = service->set_mm_blend( face, num_coords, coords ); 227 error = service->set_mm_blend( face, num_coords, coords );
198 } 228 }
199 229
200 return error; 230 return error;
201 } 231 }
202 232
203 233
204 /* END */ 234 /* END */
205 #endif
206
OLDNEW
« no previous file with comments | « third_party/freetype/src/base/ftmac.c ('k') | third_party/freetype/src/base/ftobjs.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698