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

Side by Side Diff: include/freetype/internal/ftdriver.h

Issue 23555005: Update freetype to the latest version of Android external/freetype (Closed) Base URL: https://chromium.googlesource.com/chromium/src/third_party/freetype.git@master
Patch Set: Created 7 years, 3 months 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 | « include/freetype/internal/autohint.h ('k') | include/freetype/internal/ftobjs.h » ('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 /* ftdriver.h */ 3 /* ftdriver.h */
4 /* */ 4 /* */
5 /* FreeType font driver interface (specification). */ 5 /* FreeType font driver interface (specification). */
6 /* */ 6 /* */
7 /* Copyright 1996-2001, 2002, 2003, 2006, 2008 by */ 7 /* Copyright 1996-2003, 2006, 2008, 2011 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 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 /* additional data for a face from another */ 155 /* additional data for a face from another */
156 /* file/stream. For example, this can be used to */ 156 /* file/stream. For example, this can be used to */
157 /* add data from AFM or PFM files on a Type 1 */ 157 /* add data from AFM or PFM files on a Type 1 */
158 /* face, or a CIDMap on a CID-keyed face. */ 158 /* face, or a CIDMap on a CID-keyed face. */
159 /* */ 159 /* */
160 /* get_advances :: A function handle used to return advance */ 160 /* get_advances :: A function handle used to return advance */
161 /* widths of `count' glyphs (in font units), */ 161 /* widths of `count' glyphs (in font units), */
162 /* starting at `first'. The `vertical' flag must */ 162 /* starting at `first'. The `vertical' flag must */
163 /* be set to get vertical advance heights. The */ 163 /* be set to get vertical advance heights. The */
164 /* `advances' buffer is caller-allocated. */ 164 /* `advances' buffer is caller-allocated. */
165 /* Currently not implemented. The idea of this */ 165 /* The idea of this function is to be able to */
166 /* function is to be able to perform */ 166 /* perform device-independent text layout without */
167 /* device-independent text layout without loading */ 167 /* loading a single glyph image. */
168 /* a single glyph image. */
169 /* */ 168 /* */
170 /* request_size :: A handle to a function used to request the new */ 169 /* request_size :: A handle to a function used to request the new */
171 /* character size. Can be set to 0 if the */ 170 /* character size. Can be set to 0 if the */
172 /* scaling done in the base layer suffices. */ 171 /* scaling done in the base layer suffices. */
173 /* */ 172 /* */
174 /* select_size :: A handle to a function used to select a new */ 173 /* select_size :: A handle to a function used to select a new */
175 /* fixed size. It is used only if */ 174 /* fixed size. It is used only if */
176 /* @FT_FACE_FLAG_FIXED_SIZES is set. Can be set */ 175 /* @FT_FACE_FLAG_FIXED_SIZES is set. Can be set */
177 /* to 0 if the scaling done in the base layer */ 176 /* to 0 if the scaling done in the base layer */
178 /* suffices. */ 177 /* suffices. */
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
261 /* to be called to release that allocation. */ 260 /* to be called to release that allocation. */
262 /* fcinit.c (ft_create_default_module_classes) already contains */ 261 /* fcinit.c (ft_create_default_module_classes) already contains */
263 /* a mechanism to call these functions for the default modules */ 262 /* a mechanism to call these functions for the default modules */
264 /* described in ftmodule.h */ 263 /* described in ftmodule.h */
265 /* */ 264 /* */
266 /* Notice that the created Create and Destroy functions call */ 265 /* Notice that the created Create and Destroy functions call */
267 /* pic_init and pic_free function to allow you to manually allocate */ 266 /* pic_init and pic_free function to allow you to manually allocate */
268 /* and initialize any additional global data, like module specific */ 267 /* and initialize any additional global data, like module specific */
269 /* interface, and put them in the global pic container defined in */ 268 /* interface, and put them in the global pic container defined in */
270 /* ftpic.h. if you don't need them just implement the functions as */ 269 /* ftpic.h. if you don't need them just implement the functions as */
271 /* empty to resolve the link error. */ 270 /* empty to resolve the link error. Also the pic_init and pic_free */
271 /* functions should be declared in pic.h, to be referred by driver */
272 /* definition calling FT_DEFINE_DRIVER() in following. */
272 /* */ 273 /* */
273 /* When FT_CONFIG_OPTION_PIC is not defined the struct will be */ 274 /* When FT_CONFIG_OPTION_PIC is not defined the struct will be */
274 /* allocated in the global scope (or the scope where the macro */ 275 /* allocated in the global scope (or the scope where the macro */
275 /* is used). */ 276 /* is used). */
276 /* */ 277 /* */
277 #ifndef FT_CONFIG_OPTION_PIC 278 #ifndef FT_CONFIG_OPTION_PIC
278 279
279 #ifdef FT_CONFIG_OPTION_OLD_INTERNALS 280 #ifdef FT_CONFIG_OPTION_OLD_INTERNALS
280 #define FT_DEFINE_DRIVERS_OLD_INTERNALS(a_,b_) \ 281 #define FT_DEFINE_DRIVERS_OLD_INTERNALS(a_,b_) \
281 a_, b_, 282 a_, b_,
282 #else 283 #else
283 #define FT_DEFINE_DRIVERS_OLD_INTERNALS(a_,b_) 284 #define FT_DEFINE_DRIVERS_OLD_INTERNALS(a_,b_)
284 #endif 285 #endif
285 286
286 #define FT_DECLARE_DRIVER(class_) \ 287 #define FT_DECLARE_DRIVER(class_) \
287 FT_CALLBACK_TABLE \ 288 FT_CALLBACK_TABLE \
288 const FT_Driver_ClassRec class_; 289 const FT_Driver_ClassRec class_;
289 290
290 #define FT_DEFINE_DRIVER(class_, \ 291 #define FT_DEFINE_DRIVER(class_, \
291 flags_, size_, name_, version_, requires_, \ 292 flags_, size_, name_, version_, requires_, \
292 interface_, init_, done_, get_interface_, \ 293 interface_, init_, done_, get_interface_, \
293 face_object_size_, size_object_size_, \ 294 face_object_size_, size_object_size_, \
294 slot_object_size_, init_face_, done_face_, \ 295 slot_object_size_, init_face_, done_face_, \
295 init_size_, done_size_, init_slot_, done_slot_, \ 296 init_size_, done_size_, init_slot_, done_slot_, \
296 old_set_char_sizes_, old_set_pixel_sizes_, \ 297 old_set_char_sizes_, old_set_pixel_sizes_, \
297 load_glyph_, get_kerning_, attach_file_, \ 298 load_glyph_, get_kerning_, attach_file_, \
298 get_advances_, request_size_, select_size_ ) \ 299 get_advances_, request_size_, select_size_ ) \
(...skipping 21 matching lines...) Expand all
320 load_glyph_, \ 321 load_glyph_, \
321 \ 322 \
322 get_kerning_, \ 323 get_kerning_, \
323 attach_file_, \ 324 attach_file_, \
324 get_advances_, \ 325 get_advances_, \
325 \ 326 \
326 request_size_, \ 327 request_size_, \
327 select_size_ \ 328 select_size_ \
328 }; 329 };
329 330
330 #else /* FT_CONFIG_OPTION_PIC */ 331 #else /* FT_CONFIG_OPTION_PIC */
331 332
332 #ifdef FT_CONFIG_OPTION_OLD_INTERNALS 333 #ifdef FT_CONFIG_OPTION_OLD_INTERNALS
333 #define FT_DEFINE_DRIVERS_OLD_INTERNALS(a_,b_) \ 334 #define FT_DEFINE_DRIVERS_OLD_INTERNALS(a_,b_) \
334 clazz->set_char_sizes = a_; \ 335 clazz->set_char_sizes = a_; \
335 clazz->set_pixel_sizes = b_; 336 clazz->set_pixel_sizes = b_;
336 #else 337 #else
337 #define FT_DEFINE_DRIVERS_OLD_INTERNALS(a_,b_) 338 #define FT_DEFINE_DRIVERS_OLD_INTERNALS(a_,b_)
338 #endif 339 #endif
339 340
340 #define FT_DECLARE_DRIVER(class_) FT_DECLARE_MODULE(class_) 341 #define FT_DECLARE_DRIVER(class_) FT_DECLARE_MODULE(class_)
341 342
342 #define FT_DEFINE_DRIVER(class_, \ 343 #define FT_DEFINE_DRIVER(class_, \
343 flags_, size_, name_, version_, requires_, \ 344 flags_, size_, name_, version_, requires_, \
344 interface_, init_, done_, get_interface_, \ 345 interface_, init_, done_, get_interface_, \
345 face_object_size_, size_object_size_, \ 346 face_object_size_, size_object_size_, \
346 slot_object_size_, init_face_, done_face_, \ 347 slot_object_size_, init_face_, done_face_, \
347 init_size_, done_size_, init_slot_, done_slot_, \ 348 init_size_, done_size_, init_slot_, done_slot_, \
348 old_set_char_sizes_, old_set_pixel_sizes_, \ 349 old_set_char_sizes_, old_set_pixel_sizes_, \
349 load_glyph_, get_kerning_, attach_file_, \ 350 load_glyph_, get_kerning_, attach_file_, \
350 get_advances_, request_size_, select_size_ ) \ 351 get_advances_, request_size_, select_size_ ) \
351 void class_##_pic_free( FT_Library library ); \
352 FT_Error class_##_pic_init( FT_Library library ); \
353 \ 352 \
354 void \ 353 void \
355 FT_Destroy_Class_##class_( FT_Library library, \ 354 FT_Destroy_Class_##class_( FT_Library library, \
356 FT_Module_Class* clazz ) \ 355 FT_Module_Class* clazz ) \
357 { \ 356 { \
358 FT_Memory memory = library->memory; \ 357 FT_Memory memory = library->memory; \
359 FT_Driver_Class dclazz = (FT_Driver_Class)clazz; \ 358 FT_Driver_Class dclazz = (FT_Driver_Class)clazz; \
360 class_##_pic_free( library ); \ 359 class_##_pic_free( library ); \
361 if ( dclazz ) \ 360 if ( dclazz ) \
362 FT_FREE( dclazz ); \ 361 FT_FREE( dclazz ); \
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
402 \ 401 \
403 clazz->get_kerning = get_kerning_; \ 402 clazz->get_kerning = get_kerning_; \
404 clazz->attach_file = attach_file_; \ 403 clazz->attach_file = attach_file_; \
405 clazz->get_advances = get_advances_; \ 404 clazz->get_advances = get_advances_; \
406 \ 405 \
407 clazz->request_size = request_size_; \ 406 clazz->request_size = request_size_; \
408 clazz->select_size = select_size_; \ 407 clazz->select_size = select_size_; \
409 \ 408 \
410 *output_class = (FT_Module_Class*)clazz; \ 409 *output_class = (FT_Module_Class*)clazz; \
411 return FT_Err_Ok; \ 410 return FT_Err_Ok; \
412 } 411 }
413 412
414 413
415 #endif /* FT_CONFIG_OPTION_PIC */ 414 #endif /* FT_CONFIG_OPTION_PIC */
416 415
417 FT_END_HEADER 416 FT_END_HEADER
418 417
419 #endif /* __FTDRIVER_H__ */ 418 #endif /* __FTDRIVER_H__ */
420 419
421 420
422 /* END */ 421 /* END */
OLDNEW
« no previous file with comments | « include/freetype/internal/autohint.h ('k') | include/freetype/internal/ftobjs.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698