1 /***************************************************************************/
5 /* The FreeType property service (specification). */
7 /* Copyright 2012-2016 by */
8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */
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. */
16 /***************************************************************************/
26 #define FT_SERVICE_ID_PROPERTIES "properties"
30 (*FT_Properties_SetFunc
)( FT_Module module
,
31 const char* property_name
,
33 FT_Bool value_is_string
);
36 (*FT_Properties_GetFunc
)( FT_Module module
,
37 const char* property_name
,
41 FT_DEFINE_SERVICE( Properties
)
43 FT_Properties_SetFunc set_property
;
44 FT_Properties_GetFunc get_property
;
48 #ifndef FT_CONFIG_OPTION_PIC
50 #define FT_DEFINE_SERVICE_PROPERTIESREC( class_, \
53 static const FT_Service_PropertiesRec class_ = \
59 #else /* FT_CONFIG_OPTION_PIC */
61 #define FT_DEFINE_SERVICE_PROPERTIESREC( class_, \
65 FT_Init_Class_ ## class_( FT_Service_PropertiesRec* clazz ) \
67 clazz->set_property = set_property_; \
68 clazz->get_property = get_property_; \
71 #endif /* FT_CONFIG_OPTION_PIC */
79 #endif /* SVPROP_H_ */