Home | History | Annotate | Download | only in services
      1 /***************************************************************************/
      2 /*                                                                         */
      3 /*  svttglyf.h                                                             */
      4 /*                                                                         */
      5 /*    The FreeType TrueType glyph service.                                 */
      6 /*                                                                         */
      7 /*  Copyright 2007, 2009, 2012 by David Turner.                            */
      8 /*                                                                         */
      9 /*  This file is part of the FreeType project, and may only be used,       */
     10 /*  modified, and distributed under the terms of the FreeType project      */
     11 /*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
     12 /*  this file you indicate that you have read the license and              */
     13 /*  understand and accept it fully.                                        */
     14 /*                                                                         */
     15 /***************************************************************************/
     16 
     17 #ifndef __SVTTGLYF_H__
     18 #define __SVTTGLYF_H__
     19 
     20 #include FT_INTERNAL_SERVICE_H
     21 #include FT_TRUETYPE_TABLES_H
     22 
     23 
     24 FT_BEGIN_HEADER
     25 
     26 
     27 #define FT_SERVICE_ID_TT_GLYF  "tt-glyf"
     28 
     29 
     30   typedef FT_ULong
     31   (*TT_Glyf_GetLocationFunc)( FT_Face    face,
     32                               FT_UInt    gindex,
     33                               FT_ULong  *psize );
     34 
     35   FT_DEFINE_SERVICE( TTGlyf )
     36   {
     37     TT_Glyf_GetLocationFunc  get_location;
     38   };
     39 
     40 
     41 #ifndef FT_CONFIG_OPTION_PIC
     42 
     43 #define FT_DEFINE_SERVICE_TTGLYFREC( class_, get_location_ )  \
     44   static const FT_Service_TTGlyfRec  class_ =                 \
     45   {                                                           \
     46     get_location_                                             \
     47   };
     48 
     49 #else /* FT_CONFIG_OPTION_PIC */
     50 
     51 #define FT_DEFINE_SERVICE_TTGLYFREC( class_, get_location_ )  \
     52   void                                                        \
     53   FT_Init_Class_ ## class_( FT_Service_TTGlyfRec*  clazz )    \
     54   {                                                           \
     55     clazz->get_location = get_location_;                      \
     56   }
     57 
     58 #endif /* FT_CONFIG_OPTION_PIC */
     59 
     60   /* */
     61 
     62 
     63 FT_END_HEADER
     64 
     65 #endif /* __SVTTGLYF_H__ */
     66 
     67 
     68 /* END */
     69