1 /***************************************************************************/
5 /* The FreeType position independent code services for truetype module. */
7 /* Copyright 2009, 2012, 2013 by */
8 /* Oran Agra and Mickey Gabel. */
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. */
16 /***************************************************************************/
25 #ifndef FT_CONFIG_OPTION_PIC
27 #define TT_SERVICES_GET tt_services
28 #define TT_SERVICE_GX_MULTI_MASTERS_GET tt_service_gx_multi_masters
29 #define TT_SERVICE_TRUETYPE_GLYF_GET tt_service_truetype_glyf
30 #define TT_SERVICE_PROPERTIES_GET tt_service_properties
32 #else /* FT_CONFIG_OPTION_PIC */
34 #include FT_MULTIPLE_MASTERS_H
35 #include FT_SERVICE_MULTIPLE_MASTERS_H
36 #include FT_SERVICE_TRUETYPE_GLYF_H
37 #include FT_SERVICE_PROPERTIES_H
40 typedef struct TTModulePIC_
42 FT_ServiceDescRec* tt_services;
43 #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
44 FT_Service_MultiMastersRec tt_service_gx_multi_masters;
46 FT_Service_TTGlyfRec tt_service_truetype_glyf;
47 FT_Service_PropertiesRec tt_service_properties;
52 #define GET_PIC( lib ) \
53 ( (TTModulePIC*)((lib)->pic_container.truetype) )
54 #define TT_SERVICES_GET \
55 ( GET_PIC( library )->tt_services )
56 #define TT_SERVICE_GX_MULTI_MASTERS_GET \
57 ( GET_PIC( library )->tt_service_gx_multi_masters )
58 #define TT_SERVICE_TRUETYPE_GLYF_GET \
59 ( GET_PIC( library )->tt_service_truetype_glyf )
60 #define TT_SERVICE_PROPERTIES_GET \
61 ( GET_PIC( library )->tt_service_properties )
64 /* see ttpic.c for the implementation */
66 tt_driver_class_pic_free( FT_Library library );
69 tt_driver_class_pic_init( FT_Library library );
71 #endif /* FT_CONFIG_OPTION_PIC */
78 #endif /* __TTPIC_H__ */