fontservices/freetypefontrasteriser/freetype2/include/freetype/internal/services/svmm.h
changeset 71 6cc5529d4a89
equal deleted inserted replaced
64:f66674566702 71:6cc5529d4a89
       
     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, FTL.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 
       
    25 FT_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 
       
    74 FT_END_HEADER
       
    75 
       
    76 #endif /* __SVMM_H__ */
       
    77 
       
    78 
       
    79 /* END */