1 /***************************************************************************/
5 /* The FreeType position independent code services for base. */
7 /* Copyright 2009 by */
8 /* Oran Agra and Mickey Gabel. */
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. */
16 /***************************************************************************/
25 #include FT_INTERNAL_PIC_H
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
35 #else /* FT_CONFIG_OPTION_PIC */
39 #ifdef FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK
40 #include FT_INTERNAL_RFORK_H
44 typedef struct BasePIC_
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];
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)
62 /* see basepic.c for the implementation. */
64 ft_base_pic_free( FT_Library library );
67 ft_base_pic_init( FT_Library library );
69 #endif /* FT_CONFIG_OPTION_PIC */
74 #endif /* __BASEPIC_H__ */