Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
4349 | Serge | 1 | /***************************************************************************/ |
2 | /* */ |
||
3 | /* svprop.h */ |
||
4 | /* */ |
||
5 | /* The FreeType property service (specification). */ |
||
6 | /* */ |
||
7 | /* Copyright 2012 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 | |||
34 | typedef FT_Error |
||
35 | (*FT_Properties_GetFunc)( FT_Module module, |
||
36 | const char* property_name, |
||
37 | void* value ); |
||
38 | |||
39 | |||
40 | FT_DEFINE_SERVICE( Properties ) |
||
41 | { |
||
42 | FT_Properties_SetFunc set_property; |
||
43 | FT_Properties_GetFunc get_property; |
||
44 | }; |
||
45 | |||
46 | |||
47 | #ifndef FT_CONFIG_OPTION_PIC |
||
48 | |||
49 | #define FT_DEFINE_SERVICE_PROPERTIESREC( class_, \ |
||
50 | set_property_, \ |
||
51 | get_property_ ) \ |
||
52 | static const FT_Service_PropertiesRec class_ = \ |
||
53 | { \ |
||
54 | set_property_, \ |
||
55 | get_property_ \ |
||
56 | }; |
||
57 | |||
58 | #else /* FT_CONFIG_OPTION_PIC */ |
||
59 | |||
60 | #define FT_DEFINE_SERVICE_PROPERTIESREC( class_, \ |
||
61 | set_property_, \ |
||
62 | get_property_ ) \ |
||
63 | void \ |
||
64 | FT_Init_Class_ ## class_( FT_Service_PropertiesRec* clazz ) \ |
||
65 | { \ |
||
66 | clazz->set_property = set_property_; \ |
||
67 | clazz->get_property = get_property_; \ |
||
68 | } |
||
69 | |||
70 | #endif /* FT_CONFIG_OPTION_PIC */ |
||
71 | |||
72 | /* */ |
||
73 | |||
74 | |||
75 | FT_END_HEADER |
||
76 | |||
77 | |||
78 | #endif /* __SVPROP_H__ */ |
||
79 | |||
80 | |||
81 | /* END */ |