vrshoot
diff libs/ft2static/freetype/internal/services/svmm.h @ 0:b2f14e535253
initial commit
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Sat, 01 Feb 2014 19:58:19 +0200 |
parents | |
children |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/libs/ft2static/freetype/internal/services/svmm.h Sat Feb 01 19:58:19 2014 +0200 1.3 @@ -0,0 +1,104 @@ 1.4 +/***************************************************************************/ 1.5 +/* */ 1.6 +/* svmm.h */ 1.7 +/* */ 1.8 +/* The FreeType Multiple Masters and GX var services (specification). */ 1.9 +/* */ 1.10 +/* Copyright 2003, 2004 by */ 1.11 +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ 1.12 +/* */ 1.13 +/* This file is part of the FreeType project, and may only be used, */ 1.14 +/* modified, and distributed under the terms of the FreeType project */ 1.15 +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 1.16 +/* this file you indicate that you have read the license and */ 1.17 +/* understand and accept it fully. */ 1.18 +/* */ 1.19 +/***************************************************************************/ 1.20 + 1.21 + 1.22 +#ifndef __SVMM_H__ 1.23 +#define __SVMM_H__ 1.24 + 1.25 +#include FT_INTERNAL_SERVICE_H 1.26 + 1.27 + 1.28 +FT_BEGIN_HEADER 1.29 + 1.30 + 1.31 + /* 1.32 + * A service used to manage multiple-masters data in a given face. 1.33 + * 1.34 + * See the related APIs in `ftmm.h' (FT_MULTIPLE_MASTERS_H). 1.35 + * 1.36 + */ 1.37 + 1.38 +#define FT_SERVICE_ID_MULTI_MASTERS "multi-masters" 1.39 + 1.40 + 1.41 + typedef FT_Error 1.42 + (*FT_Get_MM_Func)( FT_Face face, 1.43 + FT_Multi_Master* master ); 1.44 + 1.45 + typedef FT_Error 1.46 + (*FT_Get_MM_Var_Func)( FT_Face face, 1.47 + FT_MM_Var* *master ); 1.48 + 1.49 + typedef FT_Error 1.50 + (*FT_Set_MM_Design_Func)( FT_Face face, 1.51 + FT_UInt num_coords, 1.52 + FT_Long* coords ); 1.53 + 1.54 + typedef FT_Error 1.55 + (*FT_Set_Var_Design_Func)( FT_Face face, 1.56 + FT_UInt num_coords, 1.57 + FT_Fixed* coords ); 1.58 + 1.59 + typedef FT_Error 1.60 + (*FT_Set_MM_Blend_Func)( FT_Face face, 1.61 + FT_UInt num_coords, 1.62 + FT_Long* coords ); 1.63 + 1.64 + 1.65 + FT_DEFINE_SERVICE( MultiMasters ) 1.66 + { 1.67 + FT_Get_MM_Func get_mm; 1.68 + FT_Set_MM_Design_Func set_mm_design; 1.69 + FT_Set_MM_Blend_Func set_mm_blend; 1.70 + FT_Get_MM_Var_Func get_mm_var; 1.71 + FT_Set_Var_Design_Func set_var_design; 1.72 + }; 1.73 + 1.74 +#ifndef FT_CONFIG_OPTION_PIC 1.75 + 1.76 +#define FT_DEFINE_SERVICE_MULTIMASTERSREC(class_, get_mm_, set_mm_design_, \ 1.77 + set_mm_blend_, get_mm_var_, set_var_design_) \ 1.78 + static const FT_Service_MultiMastersRec class_ = \ 1.79 + { \ 1.80 + get_mm_, set_mm_design_, set_mm_blend_, get_mm_var_, set_var_design_ \ 1.81 + }; 1.82 + 1.83 +#else /* FT_CONFIG_OPTION_PIC */ 1.84 + 1.85 +#define FT_DEFINE_SERVICE_MULTIMASTERSREC(class_, get_mm_, set_mm_design_, \ 1.86 + set_mm_blend_, get_mm_var_, set_var_design_) \ 1.87 + void \ 1.88 + FT_Init_Class_##class_( FT_Service_MultiMastersRec* clazz ) \ 1.89 + { \ 1.90 + clazz->get_mm = get_mm_; \ 1.91 + clazz->set_mm_design = set_mm_design_; \ 1.92 + clazz->set_mm_blend = set_mm_blend_; \ 1.93 + clazz->get_mm_var = get_mm_var_; \ 1.94 + clazz->set_var_design = set_var_design_; \ 1.95 + } 1.96 + 1.97 +#endif /* FT_CONFIG_OPTION_PIC */ 1.98 + 1.99 + /* */ 1.100 + 1.101 + 1.102 +FT_END_HEADER 1.103 + 1.104 +#endif /* __SVMM_H__ */ 1.105 + 1.106 + 1.107 +/* END */