Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1. /***************************************************************************/
  2. /*                                                                         */
  3. /*  svprop.h                                                               */
  4. /*                                                                         */
  5. /*    The FreeType property service (specification).                       */
  6. /*                                                                         */
  7. /*  Copyright 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 __SVPROP_H__
  20. #define __SVPROP_H__
  21.  
  22.  
  23. FT_BEGIN_HEADER
  24.  
  25.  
  26. #define FT_SERVICE_ID_PROPERTIES  "properties"
  27.  
  28.  
  29.   typedef FT_Error
  30.   (*FT_Properties_SetFunc)( FT_Module    module,
  31.                             const char*  property_name,
  32.                             const void*  value );
  33.  
  34.   typedef FT_Error
  35.   (*FT_Properties_GetFunc)( FT_Module    module,
  36.                             const char*  property_name,
  37.                             void*        value );
  38.  
  39.  
  40.   FT_DEFINE_SERVICE( Properties )
  41.   {
  42.     FT_Properties_SetFunc  set_property;
  43.     FT_Properties_GetFunc  get_property;
  44.   };
  45.  
  46.  
  47. #ifndef FT_CONFIG_OPTION_PIC
  48.  
  49. #define FT_DEFINE_SERVICE_PROPERTIESREC( class_,          \
  50.                                          set_property_,   \
  51.                                          get_property_ )  \
  52.   static const FT_Service_PropertiesRec  class_ =         \
  53.   {                                                       \
  54.     set_property_,                                        \
  55.     get_property_                                         \
  56.   };
  57.  
  58. #else /* FT_CONFIG_OPTION_PIC */
  59.  
  60. #define FT_DEFINE_SERVICE_PROPERTIESREC( class_,                \
  61.                                          set_property_,         \
  62.                                          get_property_ )        \
  63.   void                                                          \
  64.   FT_Init_Class_ ## class_( FT_Service_PropertiesRec*  clazz )  \
  65.   {                                                             \
  66.     clazz->set_property = set_property_;                        \
  67.     clazz->get_property = get_property_;                        \
  68.   }
  69.  
  70. #endif /* FT_CONFIG_OPTION_PIC */
  71.  
  72.   /* */
  73.  
  74.  
  75. FT_END_HEADER
  76.  
  77.  
  78. #endif /* __SVPROP_H__ */
  79.  
  80.  
  81. /* END */
  82.