svmm.h revision f463818dd9146e11105c0572fb119e757eb47768
1/***************************************************************************/ 2/* */ 3/* svmm.h */ 4/* */ 5/* The FreeType Multiple Masters and GX var services (specification). */ 6/* */ 7/* Copyright 2003, 2004 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 __SVMM_H__ 20#define __SVMM_H__ 21 22#include FT_INTERNAL_SERVICE_H 23 24 25FT_BEGIN_HEADER 26 27 28 /* 29 * A service used to manage multiple-masters data in a given face. 30 * 31 * See the related APIs in `ftmm.h' (FT_MULTIPLE_MASTERS_H). 32 * 33 */ 34 35#define FT_SERVICE_ID_MULTI_MASTERS "multi-masters" 36 37 38 typedef FT_Error 39 (*FT_Get_MM_Func)( FT_Face face, 40 FT_Multi_Master* master ); 41 42 typedef FT_Error 43 (*FT_Get_MM_Var_Func)( FT_Face face, 44 FT_MM_Var* *master ); 45 46 typedef FT_Error 47 (*FT_Set_MM_Design_Func)( FT_Face face, 48 FT_UInt num_coords, 49 FT_Long* coords ); 50 51 typedef FT_Error 52 (*FT_Set_Var_Design_Func)( FT_Face face, 53 FT_UInt num_coords, 54 FT_Fixed* coords ); 55 56 typedef FT_Error 57 (*FT_Set_MM_Blend_Func)( FT_Face face, 58 FT_UInt num_coords, 59 FT_Long* coords ); 60 61 62 FT_DEFINE_SERVICE( MultiMasters ) 63 { 64 FT_Get_MM_Func get_mm; 65 FT_Set_MM_Design_Func set_mm_design; 66 FT_Set_MM_Blend_Func set_mm_blend; 67 FT_Get_MM_Var_Func get_mm_var; 68 FT_Set_Var_Design_Func set_var_design; 69 }; 70 71 /* */ 72 73 74FT_END_HEADER 75 76#endif /* __SVMM_H__ */ 77 78 79/* END */ 80