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

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

Issue 89753003: Update freetype to latest version of ASOP. (Closed) Base URL: https://chromium.googlesource.com/chromium/src/third_party/freetype.git@master
Patch Set: Created 7 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 | « include/freetype/internal/ftrfork.h ('k') | include/freetype/internal/ftstream.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 /* ftserv.h */ 3 /* ftserv.h */
4 /* */ 4 /* */
5 /* The FreeType services (specification only). */ 5 /* The FreeType services (specification only). */
6 /* */ 6 /* */
7 /* Copyright 2003-2007, 2009, 2012 by */ 7 /* Copyright 2003-2007, 2009, 2012, 2013 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 /* Each module can export one or more `services'. Each service is */ 20 /* Each module can export one or more `services'. Each service is */
21 /* identified by a constant string and modeled by a pointer; the latter */ 21 /* identified by a constant string and modeled by a pointer; the latter */
22 /* generally corresponds to a structure containing function pointers. */ 22 /* generally corresponds to a structure containing function pointers. */
23 /* */ 23 /* */
24 /* Note that a service's data cannot be a mere function pointer because */ 24 /* Note that a service's data cannot be a mere function pointer because */
25 /* in C it is possible that function pointers might be implemented */ 25 /* in C it is possible that function pointers might be implemented */
26 /* differently than data pointers (e.g. 48 bits instead of 32). */ 26 /* differently than data pointers (e.g. 48 bits instead of 32). */
27 /* */ 27 /* */
28 /*************************************************************************/ 28 /*************************************************************************/
29 29
30 30
31 #ifndef __FTSERV_H__ 31 #ifndef __FTSERV_H__
32 #define __FTSERV_H__ 32 #define __FTSERV_H__
33 33
34 34
35 FT_BEGIN_HEADER 35 FT_BEGIN_HEADER
36 36
37 #if defined( _MSC_VER ) /* Visual C++ (and Intel C++) */ 37 #if defined( _MSC_VER ) /* Visual C++ (and Intel C++) */
38 38 /* We disable the warning `conditional expression is */
39 /* we disable the warning `conditional expression is constant' here */ 39 /* constant' in order to compile cleanly with the maximum */
40 /* in order to compile cleanly with the maximum level of warnings */ 40 /* level of warnings. */
41 #pragma warning( push )
41 #pragma warning( disable : 4127 ) 42 #pragma warning( disable : 4127 )
42
43 #endif /* _MSC_VER */ 43 #endif /* _MSC_VER */
44 44
45 /* 45 /*
46 * @macro: 46 * @macro:
47 * FT_FACE_FIND_SERVICE 47 * FT_FACE_FIND_SERVICE
48 * 48 *
49 * @description: 49 * @description:
50 * This macro is used to look up a service from a face's driver module. 50 * This macro is used to look up a service from a face's driver module.
51 * 51 *
52 * @input: 52 * @input:
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 FT_Module module = FT_MODULE( FT_FACE( face )->driver ); \ 85 FT_Module module = FT_MODULE( FT_FACE( face )->driver ); \
86 FT_Pointer _tmp_ = NULL; \ 86 FT_Pointer _tmp_ = NULL; \
87 \ 87 \
88 if ( module->clazz->get_interface ) \ 88 if ( module->clazz->get_interface ) \
89 _tmp_ = module->clazz->get_interface( module, FT_SERVICE_ID_ ## id ); \ 89 _tmp_ = module->clazz->get_interface( module, FT_SERVICE_ID_ ## id ); \
90 ptr = _tmp_; \ 90 ptr = _tmp_; \
91 FT_END_STMNT 91 FT_END_STMNT
92 92
93 #endif /* !C++ */ 93 #endif /* !C++ */
94 94
95
95 /* 96 /*
96 * @macro: 97 * @macro:
97 * FT_FACE_FIND_GLOBAL_SERVICE 98 * FT_FACE_FIND_GLOBAL_SERVICE
98 * 99 *
99 * @description: 100 * @description:
100 * This macro is used to look up a service from all modules. 101 * This macro is used to look up a service from all modules.
101 * 102 *
102 * @input: 103 * @input:
103 * face :: 104 * face ::
104 * The source face handle. 105 * The source face handle.
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 const void* serv_data; /* service pointer/data */ 161 const void* serv_data; /* service pointer/data */
161 162
162 } FT_ServiceDescRec; 163 } FT_ServiceDescRec;
163 164
164 typedef const FT_ServiceDescRec* FT_ServiceDesc; 165 typedef const FT_ServiceDescRec* FT_ServiceDesc;
165 166
166 167
167 /*************************************************************************/ 168 /*************************************************************************/
168 /* */ 169 /* */
169 /* <Macro> */ 170 /* <Macro> */
170 /* FT_DEFINE_SERVICEDESCREC1 .. FT_DEFINE_SERVICEDESCREC6 */ 171 /* FT_DEFINE_SERVICEDESCREC1 */
172 /* FT_DEFINE_SERVICEDESCREC2 */
173 /* FT_DEFINE_SERVICEDESCREC3 */
174 /* FT_DEFINE_SERVICEDESCREC4 */
175 /* FT_DEFINE_SERVICEDESCREC5 */
176 /* FT_DEFINE_SERVICEDESCREC6 */
177 /* FT_DEFINE_SERVICEDESCREC7 */
171 /* */ 178 /* */
172 /* <Description> */ 179 /* <Description> */
173 /* Used to initialize an array of FT_ServiceDescRec structures. */ 180 /* Used to initialize an array of FT_ServiceDescRec structures. */
174 /* */ 181 /* */
175 /* When FT_CONFIG_OPTION_PIC is defined a `create' function needs to */ 182 /* When FT_CONFIG_OPTION_PIC is defined a `create' function needs to */
176 /* be called with a pointer to return an allocated array. As soon as */ 183 /* be called with a pointer to return an allocated array. As soon as */
177 /* it is no longer needed, a `destroy' function needs to be called to */ 184 /* it is no longer needed, a `destroy' function needs to be called to */
178 /* release that allocation. */ 185 /* release that allocation. */
179 /* */ 186 /* */
180 /* These functions should be manually called from the `pic_init' and */ 187 /* These functions should be manually called from the `pic_init' and */
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
257 { \ 264 { \
258 { serv_id_1, serv_data_1 }, \ 265 { serv_id_1, serv_data_1 }, \
259 { serv_id_2, serv_data_2 }, \ 266 { serv_id_2, serv_data_2 }, \
260 { serv_id_3, serv_data_3 }, \ 267 { serv_id_3, serv_data_3 }, \
261 { serv_id_4, serv_data_4 }, \ 268 { serv_id_4, serv_data_4 }, \
262 { serv_id_5, serv_data_5 }, \ 269 { serv_id_5, serv_data_5 }, \
263 { serv_id_6, serv_data_6 }, \ 270 { serv_id_6, serv_data_6 }, \
264 { NULL, NULL } \ 271 { NULL, NULL } \
265 }; 272 };
266 273
274 #define FT_DEFINE_SERVICEDESCREC7( class_, \
275 serv_id_1, serv_data_1, \
276 serv_id_2, serv_data_2, \
277 serv_id_3, serv_data_3, \
278 serv_id_4, serv_data_4, \
279 serv_id_5, serv_data_5, \
280 serv_id_6, serv_data_6, \
281 serv_id_7, serv_data_7 ) \
282 static const FT_ServiceDescRec class_[] = \
283 { \
284 { serv_id_1, serv_data_1 }, \
285 { serv_id_2, serv_data_2 }, \
286 { serv_id_3, serv_data_3 }, \
287 { serv_id_4, serv_data_4 }, \
288 { serv_id_5, serv_data_5 }, \
289 { serv_id_6, serv_data_6 }, \
290 { serv_id_7, serv_data_7 }, \
291 { NULL, NULL } \
292 };
293
267 #else /* FT_CONFIG_OPTION_PIC */ 294 #else /* FT_CONFIG_OPTION_PIC */
268 295
269 #define FT_DEFINE_SERVICEDESCREC1( class_, \ 296 #define FT_DEFINE_SERVICEDESCREC1( class_, \
270 serv_id_1, serv_data_1 ) \ 297 serv_id_1, serv_data_1 ) \
271 void \ 298 void \
272 FT_Destroy_Class_ ## class_( FT_Library library, \ 299 FT_Destroy_Class_ ## class_( FT_Library library, \
273 FT_ServiceDescRec* clazz ) \ 300 FT_ServiceDescRec* clazz ) \
274 { \ 301 { \
275 FT_Memory memory = library->memory; \ 302 FT_Memory memory = library->memory; \
276 \ 303 \
277 \ 304 \
278 if ( clazz ) \ 305 if ( clazz ) \
279 FT_FREE( clazz ); \ 306 FT_FREE( clazz ); \
280 } \ 307 } \
281 \ 308 \
282 FT_Error \ 309 FT_Error \
283 FT_Create_Class_ ## class_( FT_Library library, \ 310 FT_Create_Class_ ## class_( FT_Library library, \
284 FT_ServiceDescRec** output_class ) \ 311 FT_ServiceDescRec** output_class ) \
285 { \ 312 { \
286 FT_ServiceDescRec* clazz; \ 313 FT_ServiceDescRec* clazz = NULL; \
287 FT_Error error; \ 314 FT_Error error; \
288 FT_Memory memory = library->memory; \ 315 FT_Memory memory = library->memory; \
289 \ 316 \
290 \ 317 \
291 if ( FT_ALLOC( clazz, sizeof ( *clazz ) * 2 ) ) \ 318 if ( FT_ALLOC( clazz, sizeof ( *clazz ) * 2 ) ) \
292 return error; \ 319 return error; \
293 \ 320 \
294 clazz[0].serv_id = serv_id_1; \ 321 clazz[0].serv_id = serv_id_1; \
295 clazz[0].serv_data = serv_data_1; \ 322 clazz[0].serv_data = serv_data_1; \
296 clazz[1].serv_id = NULL; \ 323 clazz[1].serv_id = NULL; \
(...skipping 15 matching lines...) Expand all
312 \ 339 \
313 \ 340 \
314 if ( clazz ) \ 341 if ( clazz ) \
315 FT_FREE( clazz ); \ 342 FT_FREE( clazz ); \
316 } \ 343 } \
317 \ 344 \
318 FT_Error \ 345 FT_Error \
319 FT_Create_Class_ ## class_( FT_Library library, \ 346 FT_Create_Class_ ## class_( FT_Library library, \
320 FT_ServiceDescRec** output_class ) \ 347 FT_ServiceDescRec** output_class ) \
321 { \ 348 { \
322 FT_ServiceDescRec* clazz; \ 349 FT_ServiceDescRec* clazz = NULL; \
323 FT_Error error; \ 350 FT_Error error; \
324 FT_Memory memory = library->memory; \ 351 FT_Memory memory = library->memory; \
325 \ 352 \
326 \ 353 \
327 if ( FT_ALLOC( clazz, sizeof ( *clazz ) * 3 ) ) \ 354 if ( FT_ALLOC( clazz, sizeof ( *clazz ) * 3 ) ) \
328 return error; \ 355 return error; \
329 \ 356 \
330 clazz[0].serv_id = serv_id_1; \ 357 clazz[0].serv_id = serv_id_1; \
331 clazz[0].serv_data = serv_data_1; \ 358 clazz[0].serv_data = serv_data_1; \
332 clazz[1].serv_id = serv_id_2; \ 359 clazz[1].serv_id = serv_id_2; \
(...skipping 18 matching lines...) Expand all
351 \ 378 \
352 \ 379 \
353 if ( clazz ) \ 380 if ( clazz ) \
354 FT_FREE( clazz ); \ 381 FT_FREE( clazz ); \
355 } \ 382 } \
356 \ 383 \
357 FT_Error \ 384 FT_Error \
358 FT_Create_Class_ ## class_( FT_Library library, \ 385 FT_Create_Class_ ## class_( FT_Library library, \
359 FT_ServiceDescRec** output_class ) \ 386 FT_ServiceDescRec** output_class ) \
360 { \ 387 { \
361 FT_ServiceDescRec* clazz; \ 388 FT_ServiceDescRec* clazz = NULL; \
362 FT_Error error; \ 389 FT_Error error; \
363 FT_Memory memory = library->memory; \ 390 FT_Memory memory = library->memory; \
364 \ 391 \
365 \ 392 \
366 if ( FT_ALLOC( clazz, sizeof ( *clazz ) * 4 ) ) \ 393 if ( FT_ALLOC( clazz, sizeof ( *clazz ) * 4 ) ) \
367 return error; \ 394 return error; \
368 \ 395 \
369 clazz[0].serv_id = serv_id_1; \ 396 clazz[0].serv_id = serv_id_1; \
370 clazz[0].serv_data = serv_data_1; \ 397 clazz[0].serv_data = serv_data_1; \
371 clazz[1].serv_id = serv_id_2; \ 398 clazz[1].serv_id = serv_id_2; \
(...skipping 21 matching lines...) Expand all
393 \ 420 \
394 \ 421 \
395 if ( clazz ) \ 422 if ( clazz ) \
396 FT_FREE( clazz ); \ 423 FT_FREE( clazz ); \
397 } \ 424 } \
398 \ 425 \
399 FT_Error \ 426 FT_Error \
400 FT_Create_Class_ ## class_( FT_Library library, \ 427 FT_Create_Class_ ## class_( FT_Library library, \
401 FT_ServiceDescRec** output_class ) \ 428 FT_ServiceDescRec** output_class ) \
402 { \ 429 { \
403 FT_ServiceDescRec* clazz; \ 430 FT_ServiceDescRec* clazz = NULL; \
404 FT_Error error; \ 431 FT_Error error; \
405 FT_Memory memory = library->memory; \ 432 FT_Memory memory = library->memory; \
406 \ 433 \
407 \ 434 \
408 if ( FT_ALLOC( clazz, sizeof ( *clazz ) * 5 ) ) \ 435 if ( FT_ALLOC( clazz, sizeof ( *clazz ) * 5 ) ) \
409 return error; \ 436 return error; \
410 \ 437 \
411 clazz[0].serv_id = serv_id_1; \ 438 clazz[0].serv_id = serv_id_1; \
412 clazz[0].serv_data = serv_data_1; \ 439 clazz[0].serv_data = serv_data_1; \
413 clazz[1].serv_id = serv_id_2; \ 440 clazz[1].serv_id = serv_id_2; \
(...skipping 24 matching lines...) Expand all
438 \ 465 \
439 \ 466 \
440 if ( clazz ) \ 467 if ( clazz ) \
441 FT_FREE( clazz ); \ 468 FT_FREE( clazz ); \
442 } \ 469 } \
443 \ 470 \
444 FT_Error \ 471 FT_Error \
445 FT_Create_Class_ ## class_( FT_Library library, \ 472 FT_Create_Class_ ## class_( FT_Library library, \
446 FT_ServiceDescRec** output_class ) \ 473 FT_ServiceDescRec** output_class ) \
447 { \ 474 { \
448 FT_ServiceDescRec* clazz; \ 475 FT_ServiceDescRec* clazz = NULL; \
449 FT_Error error; \ 476 FT_Error error; \
450 FT_Memory memory = library->memory; \ 477 FT_Memory memory = library->memory; \
451 \ 478 \
452 \ 479 \
453 if ( FT_ALLOC( clazz, sizeof ( *clazz ) * 6 ) ) \ 480 if ( FT_ALLOC( clazz, sizeof ( *clazz ) * 6 ) ) \
454 return error; \ 481 return error; \
455 \ 482 \
456 clazz[0].serv_id = serv_id_1; \ 483 clazz[0].serv_id = serv_id_1; \
457 clazz[0].serv_data = serv_data_1; \ 484 clazz[0].serv_data = serv_data_1; \
458 clazz[1].serv_id = serv_id_2; \ 485 clazz[1].serv_id = serv_id_2; \
(...skipping 27 matching lines...) Expand all
486 \ 513 \
487 \ 514 \
488 if ( clazz ) \ 515 if ( clazz ) \
489 FT_FREE( clazz ); \ 516 FT_FREE( clazz ); \
490 } \ 517 } \
491 \ 518 \
492 FT_Error \ 519 FT_Error \
493 FT_Create_Class_ ## class_( FT_Library library, \ 520 FT_Create_Class_ ## class_( FT_Library library, \
494 FT_ServiceDescRec** output_class) \ 521 FT_ServiceDescRec** output_class) \
495 { \ 522 { \
496 FT_ServiceDescRec* clazz; \ 523 FT_ServiceDescRec* clazz = NULL; \
497 FT_Error error; \ 524 FT_Error error; \
498 FT_Memory memory = library->memory; \ 525 FT_Memory memory = library->memory; \
499 \ 526 \
500 \ 527 \
501 if ( FT_ALLOC( clazz, sizeof ( *clazz ) * 7 ) ) \ 528 if ( FT_ALLOC( clazz, sizeof ( *clazz ) * 7 ) ) \
502 return error; \ 529 return error; \
503 \ 530 \
504 clazz[0].serv_id = serv_id_1; \ 531 clazz[0].serv_id = serv_id_1; \
505 clazz[0].serv_data = serv_data_1; \ 532 clazz[0].serv_data = serv_data_1; \
506 clazz[1].serv_id = serv_id_2; \ 533 clazz[1].serv_id = serv_id_2; \
507 clazz[1].serv_data = serv_data_2; \ 534 clazz[1].serv_data = serv_data_2; \
508 clazz[2].serv_id = serv_id_3; \ 535 clazz[2].serv_id = serv_id_3; \
509 clazz[2].serv_data = serv_data_3; \ 536 clazz[2].serv_data = serv_data_3; \
510 clazz[3].serv_id = serv_id_4; \ 537 clazz[3].serv_id = serv_id_4; \
511 clazz[3].serv_data = serv_data_4; \ 538 clazz[3].serv_data = serv_data_4; \
512 clazz[4].serv_id = serv_id_5; \ 539 clazz[4].serv_id = serv_id_5; \
513 clazz[4].serv_data = serv_data_5; \ 540 clazz[4].serv_data = serv_data_5; \
514 clazz[5].serv_id = serv_id_6; \ 541 clazz[5].serv_id = serv_id_6; \
515 clazz[5].serv_data = serv_data_6; \ 542 clazz[5].serv_data = serv_data_6; \
516 clazz[6].serv_id = NULL; \ 543 clazz[6].serv_id = NULL; \
517 clazz[6].serv_data = NULL; \ 544 clazz[6].serv_data = NULL; \
518 \ 545 \
519 *output_class = clazz; \ 546 *output_class = clazz; \
520 \ 547 \
521 return FT_Err_Ok; \ 548 return FT_Err_Ok; \
522 } 549 }
523 550
551 #define FT_DEFINE_SERVICEDESCREC7( class_, \
552 serv_id_1, serv_data_1, \
553 serv_id_2, serv_data_2, \
554 serv_id_3, serv_data_3, \
555 serv_id_4, serv_data_4, \
556 serv_id_5, serv_data_5, \
557 serv_id_6, serv_data_6, \
558 serv_id_7, serv_data_7 ) \
559 void \
560 FT_Destroy_Class_ ## class_( FT_Library library, \
561 FT_ServiceDescRec* clazz ) \
562 { \
563 FT_Memory memory = library->memory; \
564 \
565 \
566 if ( clazz ) \
567 FT_FREE( clazz ); \
568 } \
569 \
570 FT_Error \
571 FT_Create_Class_ ## class_( FT_Library library, \
572 FT_ServiceDescRec** output_class) \
573 { \
574 FT_ServiceDescRec* clazz = NULL; \
575 FT_Error error; \
576 FT_Memory memory = library->memory; \
577 \
578 \
579 if ( FT_ALLOC( clazz, sizeof ( *clazz ) * 8 ) ) \
580 return error; \
581 \
582 clazz[0].serv_id = serv_id_1; \
583 clazz[0].serv_data = serv_data_1; \
584 clazz[1].serv_id = serv_id_2; \
585 clazz[1].serv_data = serv_data_2; \
586 clazz[2].serv_id = serv_id_3; \
587 clazz[2].serv_data = serv_data_3; \
588 clazz[3].serv_id = serv_id_4; \
589 clazz[3].serv_data = serv_data_4; \
590 clazz[4].serv_id = serv_id_5; \
591 clazz[4].serv_data = serv_data_5; \
592 clazz[5].serv_id = serv_id_6; \
593 clazz[5].serv_data = serv_data_6; \
594 clazz[6].serv_id = serv_id_7; \
595 clazz[6].serv_data = serv_data_7; \
596 clazz[7].serv_id = NULL; \
597 clazz[7].serv_data = NULL; \
598 \
599 *output_class = clazz; \
600 \
601 return FT_Err_Ok; \
602 }
603
524 #endif /* FT_CONFIG_OPTION_PIC */ 604 #endif /* FT_CONFIG_OPTION_PIC */
525 605
526 606
527 /* 607 /*
528 * Parse a list of FT_ServiceDescRec descriptors and look for 608 * Parse a list of FT_ServiceDescRec descriptors and look for
529 * a specific service by ID. Note that the last element in the 609 * a specific service by ID. Note that the last element in the
530 * array must be { NULL, NULL }, and that the function should 610 * array must be { NULL, NULL }, and that the function should
531 * return NULL if the service isn't available. 611 * return NULL if the service isn't available.
532 * 612 *
533 * This function can be used by modules to implement their 613 * This function can be used by modules to implement their
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
566 FT_Pointer service_GLYPH_DICT; 646 FT_Pointer service_GLYPH_DICT;
567 FT_Pointer service_PFR_METRICS; 647 FT_Pointer service_PFR_METRICS;
568 FT_Pointer service_WINFNT; 648 FT_Pointer service_WINFNT;
569 649
570 } FT_ServiceCacheRec, *FT_ServiceCache; 650 } FT_ServiceCacheRec, *FT_ServiceCache;
571 651
572 652
573 /* 653 /*
574 * A magic number used within the services cache. 654 * A magic number used within the services cache.
575 */ 655 */
576 #define FT_SERVICE_UNAVAILABLE ((FT_Pointer)-2) /* magic number */ 656
657 /* ensure that value `1' has the same width as a pointer */
658 #define FT_SERVICE_UNAVAILABLE ((FT_Pointer)~(FT_PtrDist)1)
577 659
578 660
579 /* 661 /*
580 * @macro: 662 * @macro:
581 * FT_FACE_LOOKUP_SERVICE 663 * FT_FACE_LOOKUP_SERVICE
582 * 664 *
583 * @description: 665 * @description:
584 * This macro is used to lookup a service from a face's driver module 666 * This macro is used to lookup a service from a face's driver module
585 * using its cache. 667 * using its cache.
586 * 668 *
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
664 #define FT_SERVICE_CID_H <freetype/internal/services/svcid.h> 746 #define FT_SERVICE_CID_H <freetype/internal/services/svcid.h>
665 #define FT_SERVICE_GLYPH_DICT_H <freetype/internal/services/svgldict.h> 747 #define FT_SERVICE_GLYPH_DICT_H <freetype/internal/services/svgldict.h>
666 #define FT_SERVICE_GX_VALIDATE_H <freetype/internal/services/svgxval.h> 748 #define FT_SERVICE_GX_VALIDATE_H <freetype/internal/services/svgxval.h>
667 #define FT_SERVICE_KERNING_H <freetype/internal/services/svkern.h> 749 #define FT_SERVICE_KERNING_H <freetype/internal/services/svkern.h>
668 #define FT_SERVICE_MULTIPLE_MASTERS_H <freetype/internal/services/svmm.h> 750 #define FT_SERVICE_MULTIPLE_MASTERS_H <freetype/internal/services/svmm.h>
669 #define FT_SERVICE_OPENTYPE_VALIDATE_H <freetype/internal/services/svotval.h> 751 #define FT_SERVICE_OPENTYPE_VALIDATE_H <freetype/internal/services/svotval.h>
670 #define FT_SERVICE_PFR_H <freetype/internal/services/svpfr.h> 752 #define FT_SERVICE_PFR_H <freetype/internal/services/svpfr.h>
671 #define FT_SERVICE_POSTSCRIPT_CMAPS_H <freetype/internal/services/svpscmap.h> 753 #define FT_SERVICE_POSTSCRIPT_CMAPS_H <freetype/internal/services/svpscmap.h>
672 #define FT_SERVICE_POSTSCRIPT_INFO_H <freetype/internal/services/svpsinfo.h> 754 #define FT_SERVICE_POSTSCRIPT_INFO_H <freetype/internal/services/svpsinfo.h>
673 #define FT_SERVICE_POSTSCRIPT_NAME_H <freetype/internal/services/svpostnm.h> 755 #define FT_SERVICE_POSTSCRIPT_NAME_H <freetype/internal/services/svpostnm.h>
756 #define FT_SERVICE_PROPERTIES_H <freetype/internal/services/svprop.h>
674 #define FT_SERVICE_SFNT_H <freetype/internal/services/svsfnt.h> 757 #define FT_SERVICE_SFNT_H <freetype/internal/services/svsfnt.h>
675 #define FT_SERVICE_TRUETYPE_ENGINE_H <freetype/internal/services/svtteng.h> 758 #define FT_SERVICE_TRUETYPE_ENGINE_H <freetype/internal/services/svtteng.h>
676 #define FT_SERVICE_TT_CMAP_H <freetype/internal/services/svttcmap.h> 759 #define FT_SERVICE_TT_CMAP_H <freetype/internal/services/svttcmap.h>
677 #define FT_SERVICE_WINFNT_H <freetype/internal/services/svwinfnt.h> 760 #define FT_SERVICE_WINFNT_H <freetype/internal/services/svwinfnt.h>
678 #define FT_SERVICE_XFREE86_NAME_H <freetype/internal/services/svxf86nm.h> 761 #define FT_SERVICE_XFREE86_NAME_H <freetype/internal/services/svxf86nm.h>
679 #define FT_SERVICE_TRUETYPE_GLYF_H <freetype/internal/services/svttglyf.h> 762 #define FT_SERVICE_TRUETYPE_GLYF_H <freetype/internal/services/svttglyf.h>
680 763
681 /* */ 764 /* */
682 765
766 #if defined( _MSC_VER )
767 #pragma warning( pop )
768 #endif
769
683 FT_END_HEADER 770 FT_END_HEADER
684 771
685 #endif /* __FTSERV_H__ */ 772 #endif /* __FTSERV_H__ */
686 773
687 774
688 /* END */ 775 /* END */
OLDNEW
« no previous file with comments | « include/freetype/internal/ftrfork.h ('k') | include/freetype/internal/ftstream.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698