1 /***************************************************************************/ 2 /* */ 3 /* afpic.h */ 4 /* */ 5 /* The FreeType position independent code services for autofit module. */ 6 /* */ 7 /* Copyright 2009-2017 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 #include FT_INTERNAL_PIC_H 24 25 26 #ifndef FT_CONFIG_OPTION_PIC 27 28 #define AF_SERVICES_GET af_services 29 #define AF_SERVICE_PROPERTIES_GET af_service_properties 30 31 #define AF_WRITING_SYSTEM_CLASSES_GET af_writing_system_classes 32 #define AF_SCRIPT_CLASSES_GET af_script_classes 33 #define AF_STYLE_CLASSES_GET af_style_classes 34 #define AF_INTERFACE_GET af_autofitter_interface 35 36 #else /* FT_CONFIG_OPTION_PIC */ 37 38 /* some include files required for members of AFModulePIC */ 39 #include FT_SERVICE_PROPERTIES_H 40 41 #include "aftypes.h" 42 43 44 FT_BEGIN_HEADER 45 46 typedef struct AFModulePIC_ 47 { 48 FT_ServiceDescRec* af_services; 49 FT_Service_PropertiesRec af_service_properties; 50 51 AF_WritingSystemClass af_writing_system_classes 52 [AF_WRITING_SYSTEM_MAX + 1]; 53 AF_WritingSystemClassRec af_writing_system_classes_rec 54 [AF_WRITING_SYSTEM_MAX]; 55 56 AF_ScriptClass af_script_classes 57 [AF_SCRIPT_MAX + 1]; 58 AF_ScriptClassRec af_script_classes_rec 59 [AF_SCRIPT_MAX]; 60 61 AF_StyleClass af_style_classes 62 [AF_STYLE_MAX + 1]; 63 AF_StyleClassRec af_style_classes_rec 64 [AF_STYLE_MAX]; 65 66 FT_AutoHinter_InterfaceRec af_autofitter_interface; 67 68 } AFModulePIC; 69 70 71 #define GET_PIC( lib ) \ 72 ( (AFModulePIC*)( (lib)->pic_container.autofit ) ) 73 74 #define AF_SERVICES_GET \ 75 ( GET_PIC( library )->af_services ) 76 #define AF_SERVICE_PROPERTIES_GET \ 77 ( GET_PIC( library )->af_service_properties ) 78 79 #define AF_WRITING_SYSTEM_CLASSES_GET \ 80 ( GET_PIC( FT_FACE_LIBRARY( globals->face ) )->af_writing_system_classes ) 81 #define AF_SCRIPT_CLASSES_GET \ 82 ( GET_PIC( FT_FACE_LIBRARY( globals->face ) )->af_script_classes ) 83 #define AF_STYLE_CLASSES_GET \ 84 ( GET_PIC( FT_FACE_LIBRARY( globals->face ) )->af_style_classes ) 85 #define AF_INTERFACE_GET \ 86 ( GET_PIC( library )->af_autofitter_interface ) 87 88 89 /* see afpic.c for the implementation */ 90 void 91 autofit_module_class_pic_free( FT_Library library ); 92 93 FT_Error 94 autofit_module_class_pic_init( FT_Library library ); 95 96 FT_END_HEADER 97 98 #endif /* FT_CONFIG_OPTION_PIC */ 99 100 /* */ 101 102 #endif /* AFPIC_H_ */ 103 104 105 /* END */ 106