1 /***************************************************************************/ 2 /* */ 3 /* ttpic.h */ 4 /* */ 5 /* The FreeType position independent code services for truetype module. */ 6 /* */ 7 /* Copyright 2009 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 FT_BEGIN_HEADER 24 25 #ifndef FT_CONFIG_OPTION_PIC 26 #define FT_TT_SERVICES_GET tt_services 27 #define FT_TT_SERVICE_GX_MULTI_MASTERS_GET tt_service_gx_multi_masters 28 #define FT_TT_SERVICE_TRUETYPE_GLYF_GET tt_service_truetype_glyf 29 30 #else /* FT_CONFIG_OPTION_PIC */ 31 32 #include FT_MULTIPLE_MASTERS_H 33 #include FT_SERVICE_MULTIPLE_MASTERS_H 34 #include FT_SERVICE_TRUETYPE_GLYF_H 35 36 typedef struct TTModulePIC_ 37 { 38 FT_ServiceDescRec* tt_services; 39 #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT 40 FT_Service_MultiMastersRec tt_service_gx_multi_masters; 41 #endif 42 FT_Service_TTGlyfRec tt_service_truetype_glyf; 43 } TTModulePIC; 44 45 #define GET_PIC(lib) ((TTModulePIC*)((lib)->pic_container.truetype)) 46 #define FT_TT_SERVICES_GET (GET_PIC(library)->tt_services) 47 #define FT_TT_SERVICE_GX_MULTI_MASTERS_GET (GET_PIC(library)->tt_service_gx_multi_masters) 48 #define FT_TT_SERVICE_TRUETYPE_GLYF_GET (GET_PIC(library)->tt_service_truetype_glyf) 49 50 /* see ttpic.c for the implementation */ 51 void 52 tt_driver_class_pic_free( FT_Library library ); 53 54 FT_Error 55 tt_driver_class_pic_init( FT_Library library ); 56 57 #endif /* FT_CONFIG_OPTION_PIC */ 58 59 /* */ 60 61 FT_END_HEADER 62 63 #endif /* __TTPIC_H__ */ 64 65 66 /* END */ 67