Sync trunk.
[reactos.git] / lib / 3rdparty / freetype / 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 */