1 /***************************************************************************/
   2 /*                                                                         */
   3 /*  basepic.h                                                              */
   4 /*                                                                         */
   5 /*    The FreeType position independent code services for base.            */
   6 /*                                                                         */
   7 /*  Copyright 2009-2018 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 #include FT_INTERNAL_PIC_H
  24 
  25 
  26 #ifndef FT_CONFIG_OPTION_PIC
  27 
  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 
  32 #ifdef FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK
  33 #define FT_RACCESS_GUESS_TABLE_GET  ft_raccess_guess_table
  34 #endif
  35 
  36 #else /* FT_CONFIG_OPTION_PIC */
  37 
  38 #include FT_GLYPH_H
  39 
  40 #ifdef FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK
  41 #include FT_INTERNAL_RFORK_H
  42 #endif
  43 
  44 
  45 FT_BEGIN_HEADER
  46 
  47   typedef struct  BasePIC_
  48   {
  49     FT_Module_Class**  default_module_classes;
  50     FT_Glyph_Class     ft_outline_glyph_class;
  51     FT_Glyph_Class     ft_bitmap_glyph_class;
  52 
  53 #ifdef FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK
  54     ft_raccess_guess_rec  ft_raccess_guess_table[FT_RACCESS_N_RULES];
  55 #endif
  56 
  57   } BasePIC;
  58 
  59 
  60 #define GET_PIC( lib )  ( (BasePIC*)( (lib)->pic_container.base ) )
  61 
  62 #define FT_OUTLINE_GLYPH_CLASS_GET                      \
  63           ( &GET_PIC( library )->ft_outline_glyph_class )
  64 #define FT_BITMAP_GLYPH_CLASS_GET                        \
  65           ( &GET_PIC( library )->ft_bitmap_glyph_class )
  66 #define FT_DEFAULT_MODULES_GET                           \
  67           ( GET_PIC( library )->default_module_classes )
  68 
  69 #ifdef FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK
  70 #define FT_RACCESS_GUESS_TABLE_GET                       \
  71           ( GET_PIC( library )->ft_raccess_guess_table )
  72 #endif
  73 
  74 
  75   /* see basepic.c for the implementation */
  76   void
  77   ft_base_pic_free( FT_Library  library );
  78 
  79   FT_Error
  80   ft_base_pic_init( FT_Library  library );
  81 
  82 FT_END_HEADER
  83 
  84 #endif /* FT_CONFIG_OPTION_PIC */
  85 
  86   /* */
  87 
  88 #endif /* BASEPIC_H_ */
  89 
  90 
  91 /* END */