1 /****************************************************************************
   2  *
   3  * svprop.h
   4  *
   5  *   The FreeType property service (specification).
   6  *
   7  * Copyright (C) 2012-2019 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                             FT_Bool      value_is_string );
  34 
  35   typedef FT_Error
  36   (*FT_Properties_GetFunc)( FT_Module    module,
  37                             const char*  property_name,
  38                             void*        value );
  39 
  40 
  41   FT_DEFINE_SERVICE( Properties )
  42   {
  43     FT_Properties_SetFunc  set_property;
  44     FT_Properties_GetFunc  get_property;
  45   };
  46 
  47 
  48 #define FT_DEFINE_SERVICE_PROPERTIESREC( class_,          \
  49                                          set_property_,   \
  50                                          get_property_ )  \
  51   static const FT_Service_PropertiesRec  class_ =         \
  52   {                                                       \
  53     set_property_,                                        \
  54     get_property_                                         \
  55   };
  56 
  57   /* */
  58 
  59 
  60 FT_END_HEADER
  61 
  62 
  63 #endif /* SVPROP_H_ */
  64 
  65 
  66 /* END */