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#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 72FT_END_HEADER 73 74#endif /* __BASEPIC_H__ */ 75 76 77/* END */ 78