[FREETYPE] Update to v2.7.0. CORE-11639
[reactos.git] / reactos / sdk / lib / 3rdparty / freetype / include / freetype / internal / services / svprop.h
1 /***************************************************************************/
2 /* */
3 /* svprop.h */
4 /* */
5 /* The FreeType property service (specification). */
6 /* */
7 /* Copyright 2012-2016 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 #ifndef FT_CONFIG_OPTION_PIC
49
50 #define FT_DEFINE_SERVICE_PROPERTIESREC( class_, \
51 set_property_, \
52 get_property_ ) \
53 static const FT_Service_PropertiesRec class_ = \
54 { \
55 set_property_, \
56 get_property_ \
57 };
58
59 #else /* FT_CONFIG_OPTION_PIC */
60
61 #define FT_DEFINE_SERVICE_PROPERTIESREC( class_, \
62 set_property_, \
63 get_property_ ) \
64 void \
65 FT_Init_Class_ ## class_( FT_Service_PropertiesRec* clazz ) \
66 { \
67 clazz->set_property = set_property_; \
68 clazz->get_property = get_property_; \
69 }
70
71 #endif /* FT_CONFIG_OPTION_PIC */
72
73 /* */
74
75
76 FT_END_HEADER
77
78
79 #endif /* SVPROP_H_ */
80
81
82 /* END */