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 
     32 #else /* FT_CONFIG_OPTION_PIC */
     33 
     34 #include FT_GLYPH_H
     35 
     36   typedef struct BasePIC_
     37   {
     38     FT_Module_Class** default_module_classes;
     39     FT_Glyph_Class ft_outline_glyph_class;
     40     FT_Glyph_Class ft_bitmap_glyph_class;
     41   } BasePIC;
     42 
     43 #define GET_PIC(lib)                  ((BasePIC*)((lib)->pic_container.base))
     44 #define FT_OUTLINE_GLYPH_CLASS_GET    (&GET_PIC(library)->ft_outline_glyph_class)
     45 #define FT_BITMAP_GLYPH_CLASS_GET     (&GET_PIC(library)->ft_bitmap_glyph_class)
     46 #define FT_DEFAULT_MODULES_GET        (GET_PIC(library)->default_module_classes)
     47 
     48   void
     49   ft_base_pic_free( FT_Library library );
     50 
     51   FT_Error
     52   ft_base_pic_init( FT_Library library );
     53 
     54 #endif /* FT_CONFIG_OPTION_PIC */
     55  /* */
     56 
     57 FT_END_HEADER
     58 
     59 #endif /* __BASEPIC_H__ */
     60 
     61 
     62 /* END */
     63