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

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

Issue 1413673003: Update bundled freetype to 2.6.1 (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: DEPS for corpus Created 5 years, 1 month 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/ftgxval.c ('k') | third_party/freetype/src/base/ftlcdfil.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 /***************************************************************************/ 1 /***************************************************************************/
2 /* */ 2 /* */
3 /* ftinit.c */ 3 /* ftinit.c */
4 /* */ 4 /* */
5 /* FreeType initialization layer (body). */ 5 /* FreeType initialization layer (body). */
6 /* */ 6 /* */
7 /* Copyright 1996-2002, 2005, 2007, 2009, 2012-2014 by */ 7 /* Copyright 1996-2015 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
18 /*************************************************************************/ 18 /*************************************************************************/
19 /* */ 19 /* */
20 /* The purpose of this file is to implement the following two */ 20 /* The purpose of this file is to implement the following two */
21 /* functions: */ 21 /* functions: */
22 /* */ 22 /* */
23 /* FT_Add_Default_Modules(): */ 23 /* FT_Add_Default_Modules(): */
24 /* This function is used to add the set of default modules to a */ 24 /* This function is used to add the set of default modules to a */
25 /* fresh new library object. The set is taken from the header file */ 25 /* fresh new library object. The set is taken from the header file */
26 /* `config/ftmodule.h'. See the document `FreeType 2.0 Build */ 26 /* `freetype/config/ftmodule.h'. See the document `FreeType 2.0 */
27 /* System' for more information. */ 27 /* Build System' for more information. */
28 /* */ 28 /* */
29 /* FT_Init_FreeType(): */ 29 /* FT_Init_FreeType(): */
30 /* This function creates a system object for the current platform, */ 30 /* This function creates a system object for the current platform, */
31 /* builds a library out of it, then calls FT_Default_Drivers(). */ 31 /* builds a library out of it, then calls FT_Default_Drivers(). */
32 /* */ 32 /* */
33 /* Note that even if FT_Init_FreeType() uses the implementation of the */ 33 /* Note that even if FT_Init_FreeType() uses the implementation of the */
34 /* system object defined at build time, client applications are still */ 34 /* system object defined at build time, client applications are still */
35 /* able to provide their own `ftsystem.c'. */ 35 /* able to provide their own `ftsystem.c'. */
36 /* */ 36 /* */
37 /*************************************************************************/ 37 /*************************************************************************/
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 if ( !pic_container->default_module_classes ) 131 if ( !pic_container->default_module_classes )
132 return; 132 return;
133 133
134 memory = library->memory; 134 memory = library->memory;
135 classes = pic_container->default_module_classes; 135 classes = pic_container->default_module_classes;
136 i = 0; 136 i = 0;
137 137
138 #include FT_CONFIG_MODULES_H 138 #include FT_CONFIG_MODULES_H
139 139
140 FT_FREE( classes ); 140 FT_FREE( classes );
141 pic_container->default_module_classes = 0; 141 pic_container->default_module_classes = NULL;
142 } 142 }
143 143
144 144
145 /* initialize all module classes and the pointer table */ 145 /* initialize all module classes and the pointer table */
146 #undef FT_USE_MODULE 146 #undef FT_USE_MODULE
147 #define FT_USE_MODULE( type, x ) \ 147 #define FT_USE_MODULE( type, x ) \
148 error = FT_Create_Class_ ## x( library, &clazz ); \ 148 error = FT_Create_Class_ ## x( library, &clazz ); \
149 if ( error ) \ 149 if ( error ) \
150 goto Exit; \ 150 goto Exit; \
151 classes[i++] = clazz; 151 classes[i++] = clazz;
152 152
153 153
154 FT_BASE_DEF( FT_Error ) 154 FT_BASE_DEF( FT_Error )
155 ft_create_default_module_classes( FT_Library library ) 155 ft_create_default_module_classes( FT_Library library )
156 { 156 {
157 FT_Error error; 157 FT_Error error;
158 FT_Memory memory; 158 FT_Memory memory;
159 FT_Module_Class* *classes = NULL; 159 FT_Module_Class* *classes = NULL;
160 FT_Module_Class* clazz; 160 FT_Module_Class* clazz;
161 FT_UInt i; 161 FT_UInt i;
162 BasePIC* pic_container = (BasePIC*)library->pic_container.base; 162 BasePIC* pic_container = (BasePIC*)library->pic_container.base;
163 163
164 164
165 memory = library->memory; 165 memory = library->memory;
166 166
167 pic_container->default_module_classes = 0; 167 pic_container->default_module_classes = NULL;
168 168
169 if ( FT_ALLOC( classes, sizeof ( FT_Module_Class* ) * 169 if ( FT_ALLOC( classes, sizeof ( FT_Module_Class* ) *
170 ( FT_NUM_MODULE_CLASSES + 1 ) ) ) 170 ( FT_NUM_MODULE_CLASSES + 1 ) ) )
171 return error; 171 return error;
172 172
173 /* initialize all pointers to 0, especially the last one */ 173 /* initialize all pointers to 0, especially the last one */
174 for ( i = 0; i < FT_NUM_MODULE_CLASSES; i++ ) 174 for ( i = 0; i < FT_NUM_MODULE_CLASSES; i++ )
175 classes[i] = 0; 175 classes[i] = NULL;
176 classes[FT_NUM_MODULE_CLASSES] = 0; 176 classes[FT_NUM_MODULE_CLASSES] = NULL;
177 177
178 i = 0; 178 i = 0;
179 179
180 #include FT_CONFIG_MODULES_H 180 #include FT_CONFIG_MODULES_H
181 181
182 Exit: 182 Exit:
183 if ( error ) 183 if ( error )
184 ft_destroy_default_module_classes( library ); 184 ft_destroy_default_module_classes( library );
185 else 185 else
186 pic_container->default_module_classes = classes; 186 pic_container->default_module_classes = classes;
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
277 FT_Done_Library( library ); 277 FT_Done_Library( library );
278 278
279 /* discard memory manager */ 279 /* discard memory manager */
280 FT_Done_Memory( memory ); 280 FT_Done_Memory( memory );
281 281
282 return FT_Err_Ok; 282 return FT_Err_Ok;
283 } 283 }
284 284
285 285
286 /* END */ 286 /* END */
OLDNEW
« no previous file with comments | « third_party/freetype/src/base/ftgxval.c ('k') | third_party/freetype/src/base/ftlcdfil.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698