Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1. /***************************************************************************/
  2. /*                                                                         */
  3. /*  pfrobjs.h                                                              */
  4. /*                                                                         */
  5. /*    FreeType PFR object methods (specification).                         */
  6. /*                                                                         */
  7. /*  Copyright 2002, 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 __PFROBJS_H__
  20. #define __PFROBJS_H__
  21.  
  22. #include "pfrtypes.h"
  23.  
  24.  
  25. FT_BEGIN_HEADER
  26.  
  27.   typedef struct PFR_FaceRec_*  PFR_Face;
  28.  
  29.   typedef struct PFR_SizeRec_*  PFR_Size;
  30.  
  31.   typedef struct PFR_SlotRec_*  PFR_Slot;
  32.  
  33.  
  34.   typedef struct  PFR_FaceRec_
  35.   {
  36.     FT_FaceRec      root;
  37.     PFR_HeaderRec   header;
  38.     PFR_LogFontRec  log_font;
  39.     PFR_PhyFontRec  phy_font;
  40.  
  41.   } PFR_FaceRec;
  42.  
  43.  
  44.   typedef struct  PFR_SizeRec_
  45.   {
  46.     FT_SizeRec  root;
  47.  
  48.   } PFR_SizeRec;
  49.  
  50.  
  51.   typedef struct  PFR_SlotRec_
  52.   {
  53.     FT_GlyphSlotRec  root;
  54.     PFR_GlyphRec     glyph;
  55.  
  56.   } PFR_SlotRec;
  57.  
  58.  
  59.   FT_LOCAL( FT_Error )
  60.   pfr_face_init( FT_Stream      stream,
  61.                  FT_Face        face,           /* PFR_Face */
  62.                  FT_Int         face_index,
  63.                  FT_Int         num_params,
  64.                  FT_Parameter*  params );
  65.  
  66.   FT_LOCAL( void )
  67.   pfr_face_done( FT_Face  face );               /* PFR_Face */
  68.  
  69.  
  70.   FT_LOCAL( FT_Error )
  71.   pfr_face_get_kerning( FT_Face     face,       /* PFR_Face */
  72.                         FT_UInt     glyph1,
  73.                         FT_UInt     glyph2,
  74.                         FT_Vector*  kerning );
  75.  
  76.  
  77.   FT_LOCAL( FT_Error )
  78.   pfr_slot_init( FT_GlyphSlot  slot );          /* PFR_Slot */
  79.  
  80.   FT_LOCAL( void )
  81.   pfr_slot_done( FT_GlyphSlot  slot );          /* PFR_Slot */
  82.  
  83.  
  84.   FT_LOCAL( FT_Error )
  85.   pfr_slot_load( FT_GlyphSlot  slot,            /* PFR_Slot */
  86.                  FT_Size       size,            /* PFR_Size */
  87.                  FT_UInt       gindex,
  88.                  FT_Int32      load_flags );
  89.  
  90.  
  91. FT_END_HEADER
  92.  
  93. #endif /* __PFROBJS_H__ */
  94.  
  95.  
  96. /* END */
  97.