Home | History | Annotate | Download | only in base
      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