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 FT_DEFINE_SERVICE(TTGlyf)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