1 /***************************************************************************/
5 /* The FreeType property service (specification). */
7 /* Copyright 2012 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
,
35 (*FT_Properties_GetFunc
)( FT_Module module
,
36 const char* property_name
,
40 FT_DEFINE_SERVICE( Properties
)
42 FT_Properties_SetFunc set_property
;
43 FT_Properties_GetFunc get_property
;
47 #ifndef FT_CONFIG_OPTION_PIC
49 #define FT_DEFINE_SERVICE_PROPERTIESREC( class_, \
52 static const FT_Service_PropertiesRec class_ = \
58 #else /* FT_CONFIG_OPTION_PIC */
60 #define FT_DEFINE_SERVICE_PROPERTIESREC( class_, \
64 FT_Init_Class_ ## class_( FT_Service_PropertiesRec* clazz ) \
66 clazz->set_property = set_property_; \
67 clazz->get_property = get_property_; \
70 #endif /* FT_CONFIG_OPTION_PIC */
78 #endif /* __SVPROP_H__ */