Sync with trunk r47367
[reactos.git] / lib / 3rdparty / freetype / src / autofit / afpic.h
1 /***************************************************************************/
2 /* */
3 /* afpic.h */
4 /* */
5 /* The FreeType position independent code services for autofit module. */
6 /* */
7 /* Copyright 2009 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 __AFPIC_H__
20 #define __AFPIC_H__
21
22
23 FT_BEGIN_HEADER
24
25 #include FT_INTERNAL_PIC_H
26
27 #ifndef FT_CONFIG_OPTION_PIC
28
29 #define AF_SCRIPT_CLASSES_GET af_script_classes
30 #define AF_AF_AUTOFITTER_SERVICE_GET af_autofitter_service
31
32 #else /* FT_CONFIG_OPTION_PIC */
33
34 #include "aftypes.h"
35
36 /* increase these when you add new scripts, and update autofit_module_class_pic_init */
37 #ifdef FT_OPTION_AUTOFIT2
38 #define AF_SCRIPT_CLASSES_COUNT 6
39 #else
40 #define AF_SCRIPT_CLASSES_COUNT 5
41 #endif
42 #define AF_SCRIPT_CLASSES_REC_COUNT (AF_SCRIPT_CLASSES_COUNT-1)
43
44 typedef struct AFModulePIC_
45 {
46 AF_ScriptClass af_script_classes[AF_SCRIPT_CLASSES_COUNT];
47 AF_ScriptClassRec af_script_classes_rec[AF_SCRIPT_CLASSES_REC_COUNT];
48 FT_AutoHinter_ServiceRec af_autofitter_service;
49 } AFModulePIC;
50
51 #define GET_PIC(lib) ((AFModulePIC*)((lib)->pic_container.autofit))
52 #define AF_SCRIPT_CLASSES_GET (GET_PIC(FT_FACE_LIBRARY(globals->face))->af_script_classes)
53 #define AF_AF_AUTOFITTER_SERVICE_GET (GET_PIC(library)->af_autofitter_service)
54
55 #endif /* FT_CONFIG_OPTION_PIC */
56
57 /* */
58
59 FT_END_HEADER
60
61 #endif /* __AFPIC_H__ */
62
63
64 /* END */