ab2dc9a9fe96bc8a7fe087bc2e49ecff3be89583
[framework/graphics/freetype.git] / include / freetype / internal / services / svttglyf.h
1 /***************************************************************************/
2 /*                                                                         */
3 /*  svttglyf.h                                                             */
4 /*                                                                         */
5 /*    The FreeType TrueType glyph service.                                 */
6 /*                                                                         */
7 /*  Copyright 2007 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 #ifndef FT_CONFIG_OPTION_PIC
41
42 #define FT_DEFINE_SERVICE_TTGLYFREC(class_, get_location_ )   \
43   static const FT_Service_TTGlyfRec class_ =                  \
44   {                                                           \
45     get_location_                                             \
46   };
47
48 #else /* FT_CONFIG_OPTION_PIC */ 
49
50 #define FT_DEFINE_SERVICE_TTGLYFREC(class_, get_location_ )   \
51   void                                                        \
52   FT_Init_Class_##class_( FT_Service_TTGlyfRec*  clazz )      \
53   {                                                           \
54     clazz->get_location = get_location_;                      \
55   } 
56
57 #endif /* FT_CONFIG_OPTION_PIC */ 
58
59   /* */
60
61
62 FT_END_HEADER
63
64 #endif /* __SVTTGLYF_H__ */
65
66
67 /* END */