Home | History | Annotate | Download | only in autofit
      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 #endif /* FT_CONFIG_OPTION_PIC */
     61 
     62  /* */
     63 
     64 FT_END_HEADER
     65 
     66 #endif /* __AFPIC_H__ */
     67 
     68 
     69 /* END */
     70