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-2015 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 
     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
     31 
     32 #else /* FT_CONFIG_OPTION_PIC */
     33 
     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
     38 
     39 
     40   typedef struct  TTModulePIC_
     41   {
     42     FT_ServiceDescRec*          tt_services;
     43 #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
     44     FT_Service_MultiMastersRec  tt_service_gx_multi_masters;
     45 #endif
     46     FT_Service_TTGlyfRec        tt_service_truetype_glyf;
     47     FT_Service_PropertiesRec    tt_service_properties;
     48 
     49   } TTModulePIC;
     50 
     51 
     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 )
     62 
     63 
     64   /* see ttpic.c for the implementation */
     65   void
     66   tt_driver_class_pic_free( FT_Library  library );
     67 
     68   FT_Error
     69   tt_driver_class_pic_init( FT_Library  library );
     70 
     71 #endif /* FT_CONFIG_OPTION_PIC */
     72 
     73  /* */
     74 
     75 
     76 FT_END_HEADER
     77 
     78 #endif /* __TTPIC_H__ */
     79 
     80 
     81 /* END */
     82