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 29 #define FT_OUTLINE_GLYPH_CLASS_GET &ft_outline_glyph_class 30 #define FT_BITMAP_GLYPH_CLASS_GET &ft_bitmap_glyph_class 31 #define FT_DEFAULT_MODULES_GET ft_default_modules 32 33 #ifdef FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK 34 #define FT_RACCESS_GUESS_TABLE_GET ft_raccess_guess_table 35 #endif 36 37 #else /* FT_CONFIG_OPTION_PIC */ 38 39 #include FT_GLYPH_H 40 41 #ifdef FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK 42 #include FT_INTERNAL_RFORK_H 43 #endif 44 45 46 typedef struct BasePIC_ 47 { 48 FT_Module_Class** default_module_classes; 49 FT_Glyph_Class ft_outline_glyph_class; 50 FT_Glyph_Class ft_bitmap_glyph_class; 51 52 #ifdef FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK 53 ft_raccess_guess_rec ft_raccess_guess_table[FT_RACCESS_N_RULES]; 54 #endif 55 56 } BasePIC; 57 58 59 #define GET_PIC( lib ) ( (BasePIC*)( (lib)->pic_container.base ) ) 60 61 #define FT_OUTLINE_GLYPH_CLASS_GET \ 62 ( &GET_PIC( library )->ft_outline_glyph_class ) 63 #define FT_BITMAP_GLYPH_CLASS_GET \ 64 ( &GET_PIC( library )->ft_bitmap_glyph_class ) 65 #define FT_DEFAULT_MODULES_GET \ 66 ( GET_PIC( library )->default_module_classes ) 67 68 #ifdef FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK 69 #define FT_RACCESS_GUESS_TABLE_GET \ 70 ( GET_PIC( library )->ft_raccess_guess_table ) 71 #endif 72 73 74 /* see basepic.c for the implementation */ 75 void 76 ft_base_pic_free( FT_Library library ); 77 78 FT_Error 79 ft_base_pic_init( FT_Library library ); 80 81 #endif /* FT_CONFIG_OPTION_PIC */ 82 83 /* */ 84 85 FT_END_HEADER 86 87 #endif /* __BASEPIC_H__ */ 88 89 90 /* END */ 91