ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

svmm.h
Go to the documentation of this file.
00001 /***************************************************************************/
00002 /*                                                                         */
00003 /*  svmm.h                                                                 */
00004 /*                                                                         */
00005 /*    The FreeType Multiple Masters and GX var services (specification).   */
00006 /*                                                                         */
00007 /*  Copyright 2003, 2004 by                                                */
00008 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
00009 /*                                                                         */
00010 /*  This file is part of the FreeType project, and may only be used,       */
00011 /*  modified, and distributed under the terms of the FreeType project      */
00012 /*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
00013 /*  this file you indicate that you have read the license and              */
00014 /*  understand and accept it fully.                                        */
00015 /*                                                                         */
00016 /***************************************************************************/
00017 
00018 
00019 #ifndef __SVMM_H__
00020 #define __SVMM_H__
00021 
00022 #include FT_INTERNAL_SERVICE_H
00023 
00024 
00025 FT_BEGIN_HEADER
00026 
00027 
00028   /*
00029    *  A service used to manage multiple-masters data in a given face.
00030    *
00031    *  See the related APIs in `ftmm.h' (FT_MULTIPLE_MASTERS_H).
00032    *
00033    */
00034 
00035 #define FT_SERVICE_ID_MULTI_MASTERS  "multi-masters"
00036 
00037 
00038   typedef FT_Error
00039   (*FT_Get_MM_Func)( FT_Face           face,
00040                      FT_Multi_Master*  master );
00041 
00042   typedef FT_Error
00043   (*FT_Get_MM_Var_Func)( FT_Face      face,
00044                          FT_MM_Var*  *master );
00045 
00046   typedef FT_Error
00047   (*FT_Set_MM_Design_Func)( FT_Face   face,
00048                             FT_UInt   num_coords,
00049                             FT_Long*  coords );
00050 
00051   typedef FT_Error
00052   (*FT_Set_Var_Design_Func)( FT_Face    face,
00053                              FT_UInt    num_coords,
00054                              FT_Fixed*  coords );
00055 
00056   typedef FT_Error
00057   (*FT_Set_MM_Blend_Func)( FT_Face   face,
00058                            FT_UInt   num_coords,
00059                            FT_Long*  coords );
00060 
00061 
00062   FT_DEFINE_SERVICE( MultiMasters )
00063   {
00064     FT_Get_MM_Func          get_mm;
00065     FT_Set_MM_Design_Func   set_mm_design;
00066     FT_Set_MM_Blend_Func    set_mm_blend;
00067     FT_Get_MM_Var_Func      get_mm_var;
00068     FT_Set_Var_Design_Func  set_var_design;
00069   };
00070 
00071 #ifndef FT_CONFIG_OPTION_PIC
00072 
00073 #define FT_DEFINE_SERVICE_MULTIMASTERSREC(class_, get_mm_, set_mm_design_,   \
00074         set_mm_blend_, get_mm_var_, set_var_design_)                         \
00075   static const FT_Service_MultiMastersRec class_ =                           \
00076   {                                                                          \
00077     get_mm_, set_mm_design_, set_mm_blend_, get_mm_var_, set_var_design_     \
00078   };
00079 
00080 #else /* FT_CONFIG_OPTION_PIC */ 
00081 
00082 #define FT_DEFINE_SERVICE_MULTIMASTERSREC(class_, get_mm_, set_mm_design_,   \
00083         set_mm_blend_, get_mm_var_, set_var_design_)                         \
00084   void                                                                       \
00085   FT_Init_Class_##class_( FT_Service_MultiMastersRec*  clazz )               \
00086   {                                                                          \
00087     clazz->get_mm = get_mm_;                                                 \
00088     clazz->set_mm_design = set_mm_design_;                                   \
00089     clazz->set_mm_blend = set_mm_blend_;                                     \
00090     clazz->get_mm_var = get_mm_var_;                                         \
00091     clazz->set_var_design = set_var_design_;                                 \
00092   } 
00093 
00094 #endif /* FT_CONFIG_OPTION_PIC */ 
00095 
00096   /* */
00097 
00098 
00099 FT_END_HEADER
00100 
00101 #endif /* __SVMM_H__ */
00102 
00103 
00104 /* END */

Generated on Sun May 27 2012 04:33:32 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.