1/***************************************************************************/ 2/* */ 3/* svbdf.h */ 4/* */ 5/* The FreeType BDF services (specification). */ 6/* */ 7/* Copyright 2003, 2009, 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 __SVBDF_H__ 20#define __SVBDF_H__ 21 22#include "../../ftbdf.h" 23#include "../ftserv.h" 24 25 26FT_BEGIN_HEADER 27 28 29#define FT_SERVICE_ID_BDF "bdf" 30 31 typedef FT_Error 32 (*FT_BDF_GetCharsetIdFunc)( FT_Face face, 33 const char* *acharset_encoding, 34 const char* *acharset_registry ); 35 36 typedef FT_Error 37 (*FT_BDF_GetPropertyFunc)( FT_Face face, 38 const char* prop_name, 39 BDF_PropertyRec *aproperty ); 40 41 42 FT_DEFINE_SERVICE( BDF ) 43 { 44 FT_BDF_GetCharsetIdFunc get_charset_id; 45 FT_BDF_GetPropertyFunc get_property; 46 }; 47 48 49#ifndef FT_CONFIG_OPTION_PIC 50 51#define FT_DEFINE_SERVICE_BDFRec( class_, \ 52 get_charset_id_, \ 53 get_property_ ) \ 54 static const FT_Service_BDFRec class_ = \ 55 { \ 56 get_charset_id_, get_property_ \ 57 }; 58 59#else /* FT_CONFIG_OPTION_PIC */ 60 61#define FT_DEFINE_SERVICE_BDFRec( class_, \ 62 get_charset_id_, \ 63 get_property_ ) \ 64 void \ 65 FT_Init_Class_ ## class_( FT_Service_BDFRec* clazz ) \ 66 { \ 67 clazz->get_charset_id = get_charset_id_; \ 68 clazz->get_property = get_property_; \ 69 } 70 71#endif /* FT_CONFIG_OPTION_PIC */ 72 73 /* */ 74 75 76FT_END_HEADER 77 78 79#endif /* __SVBDF_H__ */ 80 81 82/* END */ 83