| /***************************************************************************/ |
| /* */ |
| /* afpic.h */ |
| /* */ |
| /* The FreeType position independent code services for autofit module. */ |
| /* */ |
| /* Copyright 2009, 2011-2012 by */ |
| /* Oran Agra and Mickey Gabel. */ |
| /* */ |
| /* This file is part of the FreeType project, and may only be used, */ |
| /* modified, and distributed under the terms of the FreeType project */ |
| /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ |
| /* this file you indicate that you have read the license and */ |
| /* understand and accept it fully. */ |
| /* */ |
| /***************************************************************************/ |
| |
| |
| #ifndef __AFPIC_H__ |
| #define __AFPIC_H__ |
| |
| |
| FT_BEGIN_HEADER |
| |
| #include FT_INTERNAL_PIC_H |
| |
| |
| #ifndef FT_CONFIG_OPTION_PIC |
| |
| #define AF_SERVICES_GET af_services |
| #define AF_SERVICE_PROPERTIES_GET af_service_properties |
| |
| #define AF_SCRIPT_CLASSES_GET af_script_classes |
| #define AF_INTERFACE_GET af_autofitter_interface |
| |
| #else /* FT_CONFIG_OPTION_PIC */ |
| |
| /* some include files required for members of AFModulePIC */ |
| #include FT_SERVICE_PROPERTIES_H |
| |
| #include "aftypes.h" |
| |
| /* increase these when you add new scripts, */ |
| /* and update autofit_module_class_pic_init */ |
| #ifdef FT_OPTION_AUTOFIT2 |
| #define AF_SCRIPT_CLASSES_COUNT 6 |
| #else |
| #define AF_SCRIPT_CLASSES_COUNT 5 |
| #endif |
| |
| #define AF_SCRIPT_CLASSES_REC_COUNT ( AF_SCRIPT_CLASSES_COUNT - 1 ) |
| |
| |
| typedef struct AFModulePIC_ |
| { |
| FT_ServiceDescRec* af_services; |
| FT_Service_PropertiesRec af_service_properties; |
| |
| AF_ScriptClass af_script_classes[AF_SCRIPT_CLASSES_COUNT]; |
| AF_ScriptClassRec af_script_classes_rec[AF_SCRIPT_CLASSES_REC_COUNT]; |
| FT_AutoHinter_InterfaceRec af_autofitter_interface; |
| |
| } AFModulePIC; |
| |
| |
| #define GET_PIC( lib ) \ |
| ( (AFModulePIC*)((lib)->pic_container.autofit) ) |
| |
| #define AF_SERVICES_GET \ |
| ( GET_PIC( library )->af_services ) |
| #define AF_SERVICE_PROPERTIES_GET \ |
| ( GET_PIC( library )->af_service_properties ) |
| |
| #define AF_SCRIPT_CLASSES_GET \ |
| ( GET_PIC( FT_FACE_LIBRARY( globals->face ) )->af_script_classes ) |
| #define AF_INTERFACE_GET \ |
| ( GET_PIC( library )->af_autofitter_interface ) |
| |
| |
| /* see afpic.c for the implementation */ |
| void |
| autofit_module_class_pic_free( FT_Library library ); |
| |
| FT_Error |
| autofit_module_class_pic_init( FT_Library library ); |
| |
| #endif /* FT_CONFIG_OPTION_PIC */ |
| |
| /* */ |
| |
| FT_END_HEADER |
| |
| #endif /* __AFPIC_H__ */ |
| |
| |
| /* END */ |