1 /***************************************************************************/ 2 /* */ 3 /* ttpic.h */ 4 /* */ 5 /* The FreeType position independent code services for truetype module. */ 6 /* */ 7 /* Copyright 2009-2018 by */ 8 /* Oran Agra and Mickey Gabel. */ 9 /* */ 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 */ 12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 13 /* this file you indicate that you have read the license and */ 14 /* understand and accept it fully. */ 15 /* */ 16 /***************************************************************************/ 17 18 19 #ifndef TTPIC_H_ 20 #define TTPIC_H_ 21 22 23 #include FT_INTERNAL_PIC_H 24 25 26 #ifndef FT_CONFIG_OPTION_PIC 27 28 #define TT_SERVICES_GET tt_services 29 #define TT_SERVICE_GX_MULTI_MASTERS_GET tt_service_gx_multi_masters 30 #define TT_SERVICE_METRICS_VARIATIONS_GET tt_service_metrics_variations 31 #define TT_SERVICE_TRUETYPE_GLYF_GET tt_service_truetype_glyf 32 #define TT_SERVICE_PROPERTIES_GET tt_service_properties 33 34 #else /* FT_CONFIG_OPTION_PIC */ 35 36 #include FT_MULTIPLE_MASTERS_H 37 #include FT_SERVICE_MULTIPLE_MASTERS_H 38 #include FT_SERVICE_METRICS_VARIATIONS_H 39 #include FT_SERVICE_TRUETYPE_GLYF_H 40 #include FT_SERVICE_PROPERTIES_H 41 42 43 FT_BEGIN_HEADER 44 45 typedef struct TTModulePIC_ 46 { 47 FT_ServiceDescRec* tt_services; 48 #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT 49 FT_Service_MultiMastersRec tt_service_gx_multi_masters; 50 FT_Service_MetricsVariationsRec tt_service_metrics_variations; 51 #endif 52 FT_Service_TTGlyfRec tt_service_truetype_glyf; 53 FT_Service_PropertiesRec tt_service_properties; 54 55 } TTModulePIC; 56 57 58 #define GET_PIC( lib ) \ 59 ( (TTModulePIC*)((lib)->pic_container.truetype) ) 60 #define TT_SERVICES_GET \ 61 ( GET_PIC( library )->tt_services ) 62 #define TT_SERVICE_METRICS_VARIATIONS_GET \ 63 ( GET_PIC( library )->tt_service_metrics_variations ) 64 #define TT_SERVICE_GX_MULTI_MASTERS_GET \ 65 ( GET_PIC( library )->tt_service_gx_multi_masters ) 66 #define TT_SERVICE_TRUETYPE_GLYF_GET \ 67 ( GET_PIC( library )->tt_service_truetype_glyf ) 68 #define TT_SERVICE_PROPERTIES_GET \ 69 ( GET_PIC( library )->tt_service_properties ) 70 71 72 /* see ttpic.c for the implementation */ 73 void 74 tt_driver_class_pic_free( FT_Library library ); 75 76 FT_Error 77 tt_driver_class_pic_init( FT_Library library ); 78 79 FT_END_HEADER 80 81 #endif /* FT_CONFIG_OPTION_PIC */ 82 83 /* */ 84 85 #endif /* TTPIC_H_ */ 86 87 88 /* END */ 89