Home | History | Annotate | Download | only in truetype
      1 /***************************************************************************/
      2 /*                                                                         */
      3 /*  ttpic.h                                                                */
      4 /*                                                                         */
      5 /*    The FreeType position independent code services for truetype module. */
      6 /*                                                                         */
      7 /*  Copyright 2009-2016 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_TRUETYPE_GLYF_GET     tt_service_truetype_glyf
     31 #define TT_SERVICE_PROPERTIES_GET        tt_service_properties
     32 
     33 #else /* FT_CONFIG_OPTION_PIC */
     34 
     35 #include FT_MULTIPLE_MASTERS_H
     36 #include FT_SERVICE_MULTIPLE_MASTERS_H
     37 #include FT_SERVICE_TRUETYPE_GLYF_H
     38 #include FT_SERVICE_PROPERTIES_H
     39 
     40 
     41 FT_BEGIN_HEADER
     42 
     43   typedef struct  TTModulePIC_
     44   {
     45     FT_ServiceDescRec*          tt_services;
     46 #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
     47     FT_Service_MultiMastersRec  tt_service_gx_multi_masters;
     48 #endif
     49     FT_Service_TTGlyfRec        tt_service_truetype_glyf;
     50     FT_Service_PropertiesRec    tt_service_properties;
     51 
     52   } TTModulePIC;
     53 
     54 
     55 #define GET_PIC( lib )                                      \
     56           ( (TTModulePIC*)((lib)->pic_container.truetype) )
     57 #define TT_SERVICES_GET                       \
     58           ( GET_PIC( library )->tt_services )
     59 #define TT_SERVICE_GX_MULTI_MASTERS_GET                       \
     60           ( GET_PIC( library )->tt_service_gx_multi_masters )
     61 #define TT_SERVICE_TRUETYPE_GLYF_GET                       \
     62           ( GET_PIC( library )->tt_service_truetype_glyf )
     63 #define TT_SERVICE_PROPERTIES_GET                       \
     64           ( GET_PIC( library )->tt_service_properties )
     65 
     66 
     67   /* see ttpic.c for the implementation */
     68   void
     69   tt_driver_class_pic_free( FT_Library  library );
     70 
     71   FT_Error
     72   tt_driver_class_pic_init( FT_Library  library );
     73 
     74 FT_END_HEADER
     75 
     76 #endif /* FT_CONFIG_OPTION_PIC */
     77 
     78  /* */
     79 
     80 #endif /* TTPIC_H_ */
     81 
     82 
     83 /* END */
     84