• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /***************************************************************************/
2 /*                                                                         */
3 /*  afpic.h                                                                */
4 /*                                                                         */
5 /*    The FreeType position independent code services for autofit module.  */
6 /*                                                                         */
7 /*  Copyright 2009, 2011 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, */
37   /* and update autofit_module_class_pic_init */
38 #ifdef FT_OPTION_AUTOFIT2
39 #define AF_SCRIPT_CLASSES_COUNT     6
40 #else
41 #define AF_SCRIPT_CLASSES_COUNT     5
42 #endif
43 #define AF_SCRIPT_CLASSES_REC_COUNT  ( AF_SCRIPT_CLASSES_COUNT - 1 )
44 
45   typedef struct AFModulePIC_
46   {
47     AF_ScriptClass            af_script_classes[AF_SCRIPT_CLASSES_COUNT];
48     AF_ScriptClassRec         af_script_classes_rec[AF_SCRIPT_CLASSES_REC_COUNT];
49     FT_AutoHinter_ServiceRec  af_autofitter_service;
50 
51   } AFModulePIC;
52 
53 #define GET_PIC( lib )                                                     \
54           ( (AFModulePIC*)((lib)->pic_container.autofit) )
55 #define AF_SCRIPT_CLASSES_GET                                              \
56           ( GET_PIC( FT_FACE_LIBRARY(globals->face) )->af_script_classes )
57 #define AF_AF_AUTOFITTER_SERVICE_GET                                       \
58           ( GET_PIC( library )->af_autofitter_service )
59 
60   /* see afpic.c for the implementation */
61   void
62   autofit_module_class_pic_free( FT_Library  library );
63 
64   FT_Error
65   autofit_module_class_pic_init( FT_Library  library );
66 
67 #endif /* FT_CONFIG_OPTION_PIC */
68 
69  /* */
70 
71 FT_END_HEADER
72 
73 #endif /* __AFPIC_H__ */
74 
75 
76 /* END */
77