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