[FREETYPE]
[reactos.git] / reactos / lib / 3rdparty / freetype / src / cff / cffpic.h
1 /***************************************************************************/
2 /* */
3 /* cffpic.h */
4 /* */
5 /* The FreeType position independent code services for cff 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 __CFFPIC_H__
20 #define __CFFPIC_H__
21
22
23 FT_BEGIN_HEADER
24
25 #include FT_INTERNAL_PIC_H
26
27
28 #ifndef FT_CONFIG_OPTION_PIC
29
30 #define CFF_SERVICE_PS_INFO_GET cff_service_ps_info
31 #define CFF_SERVICE_GLYPH_DICT_GET cff_service_glyph_dict
32 #define CFF_SERVICE_PS_NAME_GET cff_service_ps_name
33 #define CFF_SERVICE_GET_CMAP_INFO_GET cff_service_get_cmap_info
34 #define CFF_SERVICE_CID_INFO_GET cff_service_cid_info
35 #define CFF_SERVICE_PROPERTIES_GET cff_service_properties
36 #define CFF_SERVICES_GET cff_services
37 #define CFF_CMAP_ENCODING_CLASS_REC_GET cff_cmap_encoding_class_rec
38 #define CFF_CMAP_UNICODE_CLASS_REC_GET cff_cmap_unicode_class_rec
39 #define CFF_FIELD_HANDLERS_GET cff_field_handlers
40
41 #else /* FT_CONFIG_OPTION_PIC */
42
43 #include FT_SERVICE_GLYPH_DICT_H
44 #include "cffparse.h"
45 #include FT_SERVICE_POSTSCRIPT_INFO_H
46 #include FT_SERVICE_POSTSCRIPT_NAME_H
47 #include FT_SERVICE_TT_CMAP_H
48 #include FT_SERVICE_CID_H
49 #include FT_SERVICE_PROPERTIES_H
50
51
52 typedef struct CffModulePIC_
53 {
54 FT_ServiceDescRec* cff_services;
55 CFF_Field_Handler* cff_field_handlers;
56 FT_Service_PsInfoRec cff_service_ps_info;
57 FT_Service_GlyphDictRec cff_service_glyph_dict;
58 FT_Service_PsFontNameRec cff_service_ps_name;
59 FT_Service_TTCMapsRec cff_service_get_cmap_info;
60 FT_Service_CIDRec cff_service_cid_info;
61 FT_Service_PropertiesRec cff_service_properties;
62 FT_CMap_ClassRec cff_cmap_encoding_class_rec;
63 FT_CMap_ClassRec cff_cmap_unicode_class_rec;
64
65 } CffModulePIC;
66
67
68 #define GET_PIC( lib ) \
69 ( (CffModulePIC*)( (lib)->pic_container.cff ) )
70
71 #define CFF_SERVICE_PS_INFO_GET \
72 ( GET_PIC( library )->cff_service_ps_info )
73 #define CFF_SERVICE_GLYPH_DICT_GET \
74 ( GET_PIC( library )->cff_service_glyph_dict )
75 #define CFF_SERVICE_PS_NAME_GET \
76 ( GET_PIC( library )->cff_service_ps_name )
77 #define CFF_SERVICE_GET_CMAP_INFO_GET \
78 ( GET_PIC( library )->cff_service_get_cmap_info )
79 #define CFF_SERVICE_CID_INFO_GET \
80 ( GET_PIC( library )->cff_service_cid_info )
81 #define CFF_SERVICE_PROPERTIES_GET \
82 ( GET_PIC( library )->cff_service_properties )
83 #define CFF_SERVICES_GET \
84 ( GET_PIC( library )->cff_services )
85 #define CFF_CMAP_ENCODING_CLASS_REC_GET \
86 ( GET_PIC( library )->cff_cmap_encoding_class_rec )
87 #define CFF_CMAP_UNICODE_CLASS_REC_GET \
88 ( GET_PIC( library )->cff_cmap_unicode_class_rec )
89 #define CFF_FIELD_HANDLERS_GET \
90 ( GET_PIC( library )->cff_field_handlers )
91
92 /* see cffpic.c for the implementation */
93 void
94 cff_driver_class_pic_free( FT_Library library );
95
96 FT_Error
97 cff_driver_class_pic_init( FT_Library library );
98
99 #endif /* FT_CONFIG_OPTION_PIC */
100
101 /* */
102
103 FT_END_HEADER
104
105 #endif /* __CFFPIC_H__ */
106
107
108 /* END */