1 /****************************************************************************
2  *
3  * svprop.h
4  *
5  *   The FreeType property service (specification).
6  *
7  * Copyright (C) 2012-2020 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 
FT_DEFINE_SERVICE(Properties)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 */
67