tizen 2.3.1 release
[framework/graphics/freetype.git] / include / internal / services / svttglyf.h
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 */