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 23FT_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 85FT_END_HEADER 86 87#endif /* __BASEPIC_H__ */ 88 89 90/* END */ 91