1 /***************************************************************************/
   2 /*                                                                         */
   3 /*  svttglyf.h                                                             */
   4 /*                                                                         */
   5 /*    The FreeType TrueType glyph service.                                 */
   6 /*                                                                         */
   7 /*  Copyright 2007-2018 by                                                 */
   8 /*  David Turner.                                                          */
   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 #ifndef SVTTGLYF_H_
  19 #define SVTTGLYF_H_
  20 
  21 #include FT_INTERNAL_SERVICE_H
  22 #include FT_TRUETYPE_TABLES_H
  23 
  24 
  25 FT_BEGIN_HEADER
  26 
  27 
  28 #define FT_SERVICE_ID_TT_GLYF  "tt-glyf"
  29 
  30 
  31   typedef FT_ULong
  32   (*TT_Glyf_GetLocationFunc)( FT_Face    face,
  33                               FT_UInt    gindex,
  34                               FT_ULong  *psize );
  35 
  36   FT_DEFINE_SERVICE( TTGlyf )
  37   {
  38     TT_Glyf_GetLocationFunc  get_location;
  39   };
  40 
  41 
  42 #ifndef FT_CONFIG_OPTION_PIC
  43 
  44 #define FT_DEFINE_SERVICE_TTGLYFREC( class_, get_location_ )  \
  45   static const FT_Service_TTGlyfRec  class_ =                 \
  46   {                                                           \
  47     get_location_                                             \
  48   };
  49 
  50 #else /* FT_CONFIG_OPTION_PIC */
  51 
  52 #define FT_DEFINE_SERVICE_TTGLYFREC( class_, get_location_ )  \
  53   void                                                        \
  54   FT_Init_Class_ ## class_( FT_Service_TTGlyfRec*  clazz )    \
  55   {                                                           \
  56     clazz->get_location = get_location_;                      \
  57   }
  58 
  59 #endif /* FT_CONFIG_OPTION_PIC */
  60 
  61   /* */
  62 
  63 
  64 FT_END_HEADER
  65 
  66 #endif /* SVTTGLYF_H_ */
  67 
  68 
  69 /* END */