OLD | NEW |
1 /***************************************************************************/ | 1 /***************************************************************************/ |
2 /* */ | 2 /* */ |
3 /* afpic.h */ | 3 /* afpic.h */ |
4 /* */ | 4 /* */ |
5 /* The FreeType position independent code services for autofit module. */ | 5 /* The FreeType position independent code services for autofit module. */ |
6 /* */ | 6 /* */ |
7 /* Copyright 2009, 2011 by */ | 7 /* Copyright 2009, 2011-2012 by */ |
8 /* Oran Agra and Mickey Gabel. */ | 8 /* Oran Agra and Mickey Gabel. */ |
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 #ifndef __AFPIC_H__ | 19 #ifndef __AFPIC_H__ |
20 #define __AFPIC_H__ | 20 #define __AFPIC_H__ |
21 | 21 |
22 | 22 |
23 FT_BEGIN_HEADER | 23 FT_BEGIN_HEADER |
24 | 24 |
25 #include FT_INTERNAL_PIC_H | 25 #include FT_INTERNAL_PIC_H |
26 | 26 |
| 27 |
27 #ifndef FT_CONFIG_OPTION_PIC | 28 #ifndef FT_CONFIG_OPTION_PIC |
28 | 29 |
29 #define AF_SCRIPT_CLASSES_GET af_script_classes | 30 #define AF_SERVICES_GET af_services |
30 #define AF_AF_AUTOFITTER_SERVICE_GET af_autofitter_service | 31 #define AF_SERVICE_PROPERTIES_GET af_service_properties |
| 32 |
| 33 #define AF_SCRIPT_CLASSES_GET af_script_classes |
| 34 #define AF_INTERFACE_GET af_autofitter_interface |
31 | 35 |
32 #else /* FT_CONFIG_OPTION_PIC */ | 36 #else /* FT_CONFIG_OPTION_PIC */ |
33 | 37 |
| 38 /* some include files required for members of AFModulePIC */ |
| 39 #include FT_SERVICE_PROPERTIES_H |
| 40 |
34 #include "aftypes.h" | 41 #include "aftypes.h" |
35 | 42 |
36 /* increase these when you add new scripts, */ | 43 /* increase these when you add new scripts, */ |
37 /* and update autofit_module_class_pic_init */ | 44 /* and update autofit_module_class_pic_init */ |
38 #ifdef FT_OPTION_AUTOFIT2 | 45 #ifdef FT_OPTION_AUTOFIT2 |
39 #define AF_SCRIPT_CLASSES_COUNT 6 | 46 #define AF_SCRIPT_CLASSES_COUNT 6 |
40 #else | 47 #else |
41 #define AF_SCRIPT_CLASSES_COUNT 5 | 48 #define AF_SCRIPT_CLASSES_COUNT 5 |
42 #endif | 49 #endif |
| 50 |
43 #define AF_SCRIPT_CLASSES_REC_COUNT ( AF_SCRIPT_CLASSES_COUNT - 1 ) | 51 #define AF_SCRIPT_CLASSES_REC_COUNT ( AF_SCRIPT_CLASSES_COUNT - 1 ) |
44 | 52 |
45 typedef struct AFModulePIC_ | 53 |
| 54 typedef struct AFModulePIC_ |
46 { | 55 { |
47 AF_ScriptClass af_script_classes[AF_SCRIPT_CLASSES_COUNT]; | 56 FT_ServiceDescRec* af_services; |
48 AF_ScriptClassRec af_script_classes_rec[AF_SCRIPT_CLASSES_REC_COUNT]
; | 57 FT_Service_PropertiesRec af_service_properties; |
49 FT_AutoHinter_ServiceRec af_autofitter_service; | 58 |
| 59 AF_ScriptClass af_script_classes[AF_SCRIPT_CLASSES_COUNT]; |
| 60 AF_ScriptClassRec af_script_classes_rec[AF_SCRIPT_CLASSES_REC_COUN
T]; |
| 61 FT_AutoHinter_InterfaceRec af_autofitter_interface; |
50 | 62 |
51 } AFModulePIC; | 63 } AFModulePIC; |
52 | 64 |
53 #define GET_PIC( lib ) \ | 65 |
| 66 #define GET_PIC( lib ) \ |
54 ( (AFModulePIC*)((lib)->pic_container.autofit) ) | 67 ( (AFModulePIC*)((lib)->pic_container.autofit) ) |
55 #define AF_SCRIPT_CLASSES_GET \ | 68 |
56 ( GET_PIC( FT_FACE_LIBRARY(globals->face) )->af_script_classes ) | 69 #define AF_SERVICES_GET \ |
57 #define AF_AF_AUTOFITTER_SERVICE_GET \ | 70 ( GET_PIC( library )->af_services ) |
58 ( GET_PIC( library )->af_autofitter_service ) | 71 #define AF_SERVICE_PROPERTIES_GET \ |
| 72 ( GET_PIC( library )->af_service_properties ) |
| 73 |
| 74 #define AF_SCRIPT_CLASSES_GET \ |
| 75 ( GET_PIC( FT_FACE_LIBRARY( globals->face ) )->af_script_classes ) |
| 76 #define AF_INTERFACE_GET \ |
| 77 ( GET_PIC( library )->af_autofitter_interface ) |
| 78 |
59 | 79 |
60 /* see afpic.c for the implementation */ | 80 /* see afpic.c for the implementation */ |
61 void | 81 void |
62 autofit_module_class_pic_free( FT_Library library ); | 82 autofit_module_class_pic_free( FT_Library library ); |
63 | 83 |
64 FT_Error | 84 FT_Error |
65 autofit_module_class_pic_init( FT_Library library ); | 85 autofit_module_class_pic_init( FT_Library library ); |
66 | 86 |
67 #endif /* FT_CONFIG_OPTION_PIC */ | 87 #endif /* FT_CONFIG_OPTION_PIC */ |
68 | 88 |
69 /* */ | 89 /* */ |
70 | 90 |
71 FT_END_HEADER | 91 FT_END_HEADER |
72 | 92 |
73 #endif /* __AFPIC_H__ */ | 93 #endif /* __AFPIC_H__ */ |
74 | 94 |
75 | 95 |
76 /* END */ | 96 /* END */ |
OLD | NEW |