Subversion Repositories Kolibri OS

Rev

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 */