1 /**************************************************************************** 2 * 3 * svprop.h 4 * 5 * The FreeType property service (specification). 6 * 7 * Copyright (C) 2012-2023 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 FT_DEFINE_SERVICE(Properties)41 FT_DEFINE_SERVICE( Properties ) 42 { 43 FT_Properties_SetFunc set_property; 44 FT_Properties_GetFunc get_property; 45 }; 46 47 48 #define FT_DEFINE_SERVICE_PROPERTIESREC( class_, \ 49 set_property_, \ 50 get_property_ ) \ 51 static const FT_Service_PropertiesRec class_ = \ 52 { \ 53 set_property_, \ 54 get_property_ \ 55 }; 56 57 /* */ 58 59 60 FT_END_HEADER 61 62 63 #endif /* SVPROP_H_ */ 64 65 66 /* END */ 67