Home | History | Annotate | Download | only in services
      1 /***************************************************************************/
      2 /*                                                                         */
      3 /*  svbdf.h                                                                */
      4 /*                                                                         */
      5 /*    The FreeType BDF services (specification).                           */
      6 /*                                                                         */
      7 /*  Copyright 2003, 2009, 2012 by                                          */
      8 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
      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 __SVBDF_H__
     20 #define __SVBDF_H__
     21 
     22 #include "../../ftbdf.h"
     23 #include "../ftserv.h"
     24 
     25 
     26 FT_BEGIN_HEADER
     27 
     28 
     29 #define FT_SERVICE_ID_BDF  "bdf"
     30 
     31   typedef FT_Error
     32   (*FT_BDF_GetCharsetIdFunc)( FT_Face       face,
     33                               const char*  *acharset_encoding,
     34                               const char*  *acharset_registry );
     35 
     36   typedef FT_Error
     37   (*FT_BDF_GetPropertyFunc)( FT_Face           face,
     38                              const char*       prop_name,
     39                              BDF_PropertyRec  *aproperty );
     40 
     41 
     42   FT_DEFINE_SERVICE( BDF )
     43   {
     44     FT_BDF_GetCharsetIdFunc  get_charset_id;
     45     FT_BDF_GetPropertyFunc   get_property;
     46   };
     47 
     48 
     49 #ifndef FT_CONFIG_OPTION_PIC
     50 
     51 #define FT_DEFINE_SERVICE_BDFRec( class_,                                \
     52                                   get_charset_id_,                       \
     53                                   get_property_ )                        \
     54   static const FT_Service_BDFRec  class_ =                               \
     55   {                                                                      \
     56     get_charset_id_, get_property_                                       \
     57   };
     58 
     59 #else /* FT_CONFIG_OPTION_PIC */
     60 
     61 #define FT_DEFINE_SERVICE_BDFRec( class_,                                \
     62                                   get_charset_id_,                       \
     63                                   get_property_ )                        \
     64   void                                                                   \
     65   FT_Init_Class_ ## class_( FT_Service_BDFRec*  clazz )                  \
     66   {                                                                      \
     67     clazz->get_charset_id = get_charset_id_;                             \
     68     clazz->get_property   = get_property_;                               \
     69   }
     70 
     71 #endif /* FT_CONFIG_OPTION_PIC */
     72 
     73   /* */
     74 
     75 
     76 FT_END_HEADER
     77 
     78 
     79 #endif /* __SVBDF_H__ */
     80 
     81 
     82 /* END */
     83