Imported Upstream version 2.6.5
[platform/upstream/freetype2.git] / include / freetype / internal / services / svttglyf.h
1 /***************************************************************************/
2 /*                                                                         */
3 /*  svttglyf.h                                                             */
4 /*                                                                         */
5 /*    The FreeType TrueType glyph service.                                 */
6 /*                                                                         */
7 /*  Copyright 2007-2016 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 */