Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / freetype2 / src / include / freetype / internal / services / svpsinfo.h
1 /***************************************************************************/
2 /*                                                                         */
3 /*  svpsinfo.h                                                             */
4 /*                                                                         */
5 /*    The FreeType PostScript info service (specification).                */
6 /*                                                                         */
7 /*  Copyright 2003, 2004, 2009, 2011 by                                    */
8 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
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
19 #ifndef __SVPSINFO_H__
20 #define __SVPSINFO_H__
21
22 #include FT_INTERNAL_SERVICE_H
23 #include FT_INTERNAL_TYPE1_TYPES_H
24
25
26 FT_BEGIN_HEADER
27
28
29 #define FT_SERVICE_ID_POSTSCRIPT_INFO  "postscript-info"
30
31
32   typedef FT_Error
33   (*PS_GetFontInfoFunc)( FT_Face          face,
34                          PS_FontInfoRec*  afont_info );
35
36   typedef FT_Error
37   (*PS_GetFontExtraFunc)( FT_Face           face,
38                           PS_FontExtraRec*  afont_extra );
39
40   typedef FT_Int
41   (*PS_HasGlyphNamesFunc)( FT_Face   face );
42
43   typedef FT_Error
44   (*PS_GetFontPrivateFunc)( FT_Face         face,
45                             PS_PrivateRec*  afont_private );
46
47   typedef FT_Long
48   (*PS_GetFontValueFunc)( FT_Face       face,
49                           PS_Dict_Keys  key,
50                           FT_UInt       idx,
51                           void         *value,
52                           FT_Long       value_len );
53
54
55   FT_DEFINE_SERVICE( PsInfo )
56   {
57     PS_GetFontInfoFunc     ps_get_font_info;
58     PS_GetFontExtraFunc    ps_get_font_extra;
59     PS_HasGlyphNamesFunc   ps_has_glyph_names;
60     PS_GetFontPrivateFunc  ps_get_font_private;
61     PS_GetFontValueFunc    ps_get_font_value;
62   };
63
64 #ifndef FT_CONFIG_OPTION_PIC
65
66 #define FT_DEFINE_SERVICE_PSINFOREC(class_, get_font_info_,      \
67         ps_get_font_extra_, has_glyph_names_, get_font_private_, \
68         get_font_value_)                                         \
69   static const FT_Service_PsInfoRec class_ =                     \
70   {                                                              \
71     get_font_info_, ps_get_font_extra_, has_glyph_names_,        \
72     get_font_private_, get_font_value_                           \
73   };
74
75 #else /* FT_CONFIG_OPTION_PIC */ 
76
77 #define FT_DEFINE_SERVICE_PSINFOREC(class_, get_font_info_,      \
78         ps_get_font_extra_, has_glyph_names_, get_font_private_, \
79         get_font_value_)                                         \
80   void                                                           \
81   FT_Init_Class_##class_( FT_Library library,                    \
82                           FT_Service_PsInfoRec*  clazz)          \
83   {                                                              \
84     FT_UNUSED(library);                                          \
85     clazz->ps_get_font_info = get_font_info_;                    \
86     clazz->ps_get_font_extra = ps_get_font_extra_;               \
87     clazz->ps_has_glyph_names = has_glyph_names_;                \
88     clazz->ps_get_font_private = get_font_private_;              \
89     clazz->ps_get_font_value = get_font_value_;                  \
90   } 
91
92 #endif /* FT_CONFIG_OPTION_PIC */ 
93
94   /* */
95
96
97 FT_END_HEADER
98
99
100 #endif /* __SVPSINFO_H__ */
101
102
103 /* END */