1 /***************************************************************************/ 2 /* */ 3 /* basepic.h */ 4 /* */ 5 /* The FreeType position independent code services for base. */ 6 /* */ 7 /* Copyright 2009 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 __BASEPIC_H__ 20 #define __BASEPIC_H__ 21 22 23 FT_BEGIN_HEADER 24 25 #include FT_INTERNAL_PIC_H 26 27 #ifndef FT_CONFIG_OPTION_PIC 28 #define FT_OUTLINE_GLYPH_CLASS_GET &ft_outline_glyph_class 29 #define FT_BITMAP_GLYPH_CLASS_GET &ft_bitmap_glyph_class 30 #define FT_DEFAULT_MODULES_GET ft_default_modules 31 #ifdef FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK 32 #define FT_RACCESS_GUESS_TABLE_GET ft_raccess_guess_table 33 #endif 34 35 #else /* FT_CONFIG_OPTION_PIC */ 36 37 #include FT_GLYPH_H 38 39 #ifdef FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK 40 #include FT_INTERNAL_RFORK_H 41 #endif 42 43 44 typedef struct BasePIC_ 45 { 46 FT_Module_Class** default_module_classes; 47 FT_Glyph_Class ft_outline_glyph_class; 48 FT_Glyph_Class ft_bitmap_glyph_class; 49 #ifdef FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK 50 ft_raccess_guess_rec ft_raccess_guess_table[FT_RACCESS_N_RULES]; 51 #endif 52 } BasePIC; 53 54 #define GET_PIC(lib) ((BasePIC*)((lib)->pic_container.base)) 55 #define FT_OUTLINE_GLYPH_CLASS_GET (&GET_PIC(library)->ft_outline_glyph_class) 56 #define FT_BITMAP_GLYPH_CLASS_GET (&GET_PIC(library)->ft_bitmap_glyph_class) 57 #define FT_DEFAULT_MODULES_GET (GET_PIC(library)->default_module_classes) 58 #ifdef FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK 59 #define FT_RACCESS_GUESS_TABLE_GET (GET_PIC(library)->ft_raccess_guess_table) 60 #endif 61 62 /* see basepic.c for the implementation. */ 63 void 64 ft_base_pic_free( FT_Library library ); 65 66 FT_Error 67 ft_base_pic_init( FT_Library library ); 68 69 #endif /* FT_CONFIG_OPTION_PIC */ 70 /* */ 71 72 FT_END_HEADER 73 74 #endif /* __BASEPIC_H__ */ 75 76 77 /* END */ 78