⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ftobjs.h

📁 附上freetype2.1.10的源代码,这个和上面传的是一起的
💻 H
📖 第 1 页 / 共 3 页
字号:
/***************************************************************************//*                                                                         *//*  ftobjs.h                                                               *//*                                                                         *//*    The FreeType private base classes (specification).                   *//*                                                                         *//*  Copyright 1996-2001, 2002, 2003, 2004, 2005 by                         *//*  David Turner, Robert Wilhelm, and Werner Lemberg.                      *//*                                                                         *//*  This file is part of the FreeType project, and may only be used,       *//*  modified, and distributed under the terms of the FreeType project      *//*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     *//*  this file you indicate that you have read the license and              *//*  understand and accept it fully.                                        *//*                                                                         *//***************************************************************************/  /*************************************************************************/  /*                                                                       */  /*  This file contains the definition of all internal FreeType classes.  */  /*                                                                       */  /*************************************************************************/#ifndef __FTOBJS_H__#define __FTOBJS_H__#include <ft2build.h>#include FT_RENDER_H#include FT_SIZES_H#include FT_INTERNAL_MEMORY_H#include FT_INTERNAL_GLYPH_LOADER_H#include FT_INTERNAL_DRIVER_H#include FT_INTERNAL_AUTOHINT_H#include FT_INTERNAL_SERVICE_H#ifdef FT_CONFIG_OPTION_INCREMENTAL#include FT_INCREMENTAL_H#endifFT_BEGIN_HEADER  /*************************************************************************/  /*                                                                       */  /* Some generic definitions.                                             */  /*                                                                       */#ifndef TRUE#define TRUE  1#endif#ifndef FALSE#define FALSE  0#endif#ifndef NULL#define NULL  (void*)0#endif  /*************************************************************************/  /*                                                                       */  /* The min and max functions missing in C.  As usual, be careful not to  */  /* write things like FT_MIN( a++, b++ ) to avoid side effects.           */  /*                                                                       */#define FT_MIN( a, b )  ( (a) < (b) ? (a) : (b) )#define FT_MAX( a, b )  ( (a) > (b) ? (a) : (b) )#define FT_ABS( a )     ( (a) < 0 ? -(a) : (a) )#define FT_PAD_FLOOR( x, n )  ( (x) & ~((n)-1) )#define FT_PAD_ROUND( x, n )  FT_PAD_FLOOR( (x) + ((n)/2), n )#define FT_PAD_CEIL( x, n )   FT_PAD_FLOOR( (x) + ((n)-1), n )#define FT_PIX_FLOOR( x )     ( (x) & ~63 )#define FT_PIX_ROUND( x )     FT_PIX_FLOOR( (x) + 32 )#define FT_PIX_CEIL( x )      FT_PIX_FLOOR( (x) + 63 )  /*   *  Return the highest power of 2 that is <= value; this correspond to   *  the highest bit in a given 32-bit value.   */  FT_BASE( FT_UInt32 )  ft_highpow2( FT_UInt32  value );  /*************************************************************************/  /*************************************************************************/  /*************************************************************************/  /****                                                                 ****/  /****                                                                 ****/  /****                       C H A R M A P S                           ****/  /****                                                                 ****/  /****                                                                 ****/  /*************************************************************************/  /*************************************************************************/  /*************************************************************************/  /* handle to internal charmap object */  typedef struct FT_CMapRec_*              FT_CMap;  /* handle to charmap class structure */  typedef const struct FT_CMap_ClassRec_*  FT_CMap_Class;  /* internal charmap object structure */  typedef struct  FT_CMapRec_  {    FT_CharMapRec  charmap;    FT_CMap_Class  clazz;  } FT_CMapRec;  /* typecase any pointer to a charmap handle */#define FT_CMAP( x )              ((FT_CMap)( x ))  /* obvious macros */#define FT_CMAP_PLATFORM_ID( x )  FT_CMAP( x )->charmap.platform_id#define FT_CMAP_ENCODING_ID( x )  FT_CMAP( x )->charmap.encoding_id#define FT_CMAP_ENCODING( x )     FT_CMAP( x )->charmap.encoding#define FT_CMAP_FACE( x )         FT_CMAP( x )->charmap.face  /* class method definitions */  typedef FT_Error  (*FT_CMap_InitFunc)( FT_CMap     cmap,                       FT_Pointer  init_data );  typedef void  (*FT_CMap_DoneFunc)( FT_CMap  cmap );  typedef FT_UInt  (*FT_CMap_CharIndexFunc)( FT_CMap    cmap,                            FT_UInt32  char_code );  typedef FT_UInt  (*FT_CMap_CharNextFunc)( FT_CMap     cmap,                           FT_UInt32  *achar_code );  typedef struct  FT_CMap_ClassRec_  {    FT_ULong               size;    FT_CMap_InitFunc       init;    FT_CMap_DoneFunc       done;    FT_CMap_CharIndexFunc  char_index;    FT_CMap_CharNextFunc   char_next;  } FT_CMap_ClassRec;  /* create a new charmap and add it to charmap->face */  FT_BASE( FT_Error )  FT_CMap_New( FT_CMap_Class  clazz,               FT_Pointer     init_data,               FT_CharMap     charmap,               FT_CMap       *acmap );  /* destroy a charmap and remove it from face's list */  FT_BASE( void )  FT_CMap_Done( FT_CMap  cmap );  /*************************************************************************/  /*                                                                       */  /* <Struct>                                                              */  /*    FT_Face_InternalRec                                                */  /*                                                                       */  /* <Description>                                                         */  /*    This structure contains the internal fields of each FT_Face        */  /*    object.  These fields may change between different releases of     */  /*    FreeType.                                                          */  /*                                                                       */  /* <Fields>                                                              */  /*    max_points ::                                                      */  /*      The maximal number of points used to store the vectorial outline */  /*      of any glyph in this face.  If this value cannot be known in     */  /*      advance, or if the face isn't scalable, this should be set to 0. */  /*      Only relevant for scalable formats.                              */  /*                                                                       */  /*    max_contours ::                                                    */  /*      The maximal number of contours used to store the vectorial       */  /*      outline of any glyph in this face.  If this value cannot be      */  /*      known in advance, or if the face isn't scalable, this should be  */  /*      set to 0.  Only relevant for scalable formats.                   */  /*                                                                       */  /*    transform_matrix ::                                                */  /*      A 2x2 matrix of 16.16 coefficients used to transform glyph       */  /*      outlines after they are loaded from the font.  Only used by the  */  /*      convenience functions.                                           */  /*                                                                       */  /*    transform_delta ::                                                 */  /*      A translation vector used to transform glyph outlines after they */  /*      are loaded from the font.  Only used by the convenience          */  /*      functions.                                                       */  /*                                                                       */  /*    transform_flags ::                                                 */  /*      Some flags used to classify the transform.  Only used by the     */  /*      convenience functions.                                           */  /*                                                                       */  /*    services ::                                                        */  /*      A cache for frequently used services.  It should be only         */  /*      accessed with the macro `FT_FACE_LOOKUP_SERVICE'.                */  /*                                                                       */  /*    incremental_interface ::                                           */  /*      If non-null, the interface through which glyph data and metrics  */  /*      are loaded incrementally for faces that do not provide all of    */  /*      this data when first opened.  This field exists only if          */  /*      @FT_CONFIG_OPTION_INCREMENTAL is defined.                        */  /*                                                                       */  typedef struct  FT_Face_InternalRec_  {    FT_UShort           max_points;    FT_Short            max_contours;    FT_Matrix           transform_matrix;    FT_Vector           transform_delta;    FT_Int              transform_flags;    FT_ServiceCacheRec  services;#ifdef FT_CONFIG_OPTION_INCREMENTAL    FT_Incremental_InterfaceRec*  incremental_interface;#endif  } FT_Face_InternalRec;  /*************************************************************************/  /*                                                                       */  /* <Struct>                                                              */  /*    FT_Slot_InternalRec                                                */  /*                                                                       */  /* <Description>                                                         */  /*    This structure contains the internal fields of each FT_GlyphSlot   */  /*    object.  These fields may change between different releases of     */  /*    FreeType.                                                          */  /*                                                                       */  /* <Fields>                                                              */  /*    loader            :: The glyph loader object used to load outlines */  /*                         into the glyph slot.                          */  /*                                                                       */  /*    flags             :: Possible values are zero or                   */  /*                         FT_GLYPH_OWN_BITMAP.  The latter indicates    */  /*                         that the FT_GlyphSlot structure owns the      */  /*                         bitmap buffer.                                */  /*                                                                       */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -