afpic.h revision 41371e1e39c8528eb0c4bc40683c736e6683e60c
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 23FT_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 71FT_END_HEADER 72 73#endif /* __AFPIC_H__ */ 74 75 76/* END */ 77