XFA: merge patch from CL 815103002
[pdfium.git] / third_party / freetype / src / truetype / ttpic.h
1 /***************************************************************************/
2 /*                                                                         */
3 /*  ttpic.h                                                                */
4 /*                                                                         */
5 /*    The FreeType position independent code services for truetype module. */
6 /*                                                                         */
7 /*  Copyright 2009, 2012, 2013 by                                          */
8 /*  Oran Agra and Mickey Gabel.                                            */
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 __TTPIC_H__
20 #define __TTPIC_H__
21
22
23 FT_BEGIN_HEADER
24
25 #ifndef FT_CONFIG_OPTION_PIC
26
27 #define TT_SERVICES_GET                  tt_services
28 #define TT_SERVICE_GX_MULTI_MASTERS_GET  tt_service_gx_multi_masters
29 #define TT_SERVICE_TRUETYPE_GLYF_GET     tt_service_truetype_glyf
30 #define TT_SERVICE_PROPERTIES_GET        tt_service_properties
31
32 #else /* FT_CONFIG_OPTION_PIC */
33
34 #include FT_MULTIPLE_MASTERS_H
35 #include FT_SERVICE_MULTIPLE_MASTERS_H
36 #include FT_SERVICE_TRUETYPE_GLYF_H
37 #include FT_SERVICE_PROPERTIES_H
38
39
40   typedef struct  TTModulePIC_
41   {
42     FT_ServiceDescRec*          tt_services;
43 #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
44     FT_Service_MultiMastersRec  tt_service_gx_multi_masters;
45 #endif
46     FT_Service_TTGlyfRec        tt_service_truetype_glyf;
47     FT_Service_PropertiesRec    tt_service_properties;
48
49   } TTModulePIC;
50
51
52 #define GET_PIC( lib )                                      \
53           ( (TTModulePIC*)((lib)->pic_container.truetype) )
54 #define TT_SERVICES_GET                       \
55           ( GET_PIC( library )->tt_services )
56 #define TT_SERVICE_GX_MULTI_MASTERS_GET                       \
57           ( GET_PIC( library )->tt_service_gx_multi_masters )
58 #define TT_SERVICE_TRUETYPE_GLYF_GET                       \
59           ( GET_PIC( library )->tt_service_truetype_glyf )
60 #define TT_SERVICE_PROPERTIES_GET                       \
61           ( GET_PIC( library )->tt_service_properties )
62
63
64   /* see ttpic.c for the implementation */
65   void
66   tt_driver_class_pic_free( FT_Library  library );
67
68   FT_Error
69   tt_driver_class_pic_init( FT_Library  library );
70
71 #endif /* FT_CONFIG_OPTION_PIC */
72
73  /* */
74
75
76 FT_END_HEADER
77
78 #endif /* __TTPIC_H__ */
79
80
81 /* END */