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

📄 ftobjs.h

📁 linux控件xml 搭建apache支持php openssl
💻 H
📖 第 1 页 / 共 3 页
字号:
  /*************************************************************************/  /*                                                                       */  /* <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.                                */  /*                                                                       */  /*    glyph_transformed :: Boolean.  Set to TRUE when the loaded glyph   */  /*                         must be transformed through a specific        */  /*                         font transformation.  This is _not_ the same  */  /*                         as the face transform set through             */  /*                         FT_Set_Transform().                           */  /*                                                                       */  /*    glyph_matrix      :: The 2x2 matrix corresponding to the glyph     */  /*                         transformation, if necessary.                 */  /*                                                                       */  /*    glyph_delta       :: The 2d translation vector corresponding to    */  /*                         the glyph transformation, if necessary.       */  /*                                                                       */  /*    glyph_hints       :: Format-specific glyph hints management.       */  /*                                                                       */#define FT_GLYPH_OWN_BITMAP  0x1  typedef struct  FT_Slot_InternalRec_  {    FT_GlyphLoader  loader;    FT_UInt         flags;    FT_Bool         glyph_transformed;    FT_Matrix       glyph_matrix;    FT_Vector       glyph_delta;    void*           glyph_hints;  } FT_GlyphSlot_InternalRec;#if 0  /*************************************************************************/  /*                                                                       */  /* <Struct>                                                              */  /*    FT_Size_InternalRec                                                */  /*                                                                       */  /* <Description>                                                         */  /*    This structure contains the internal fields of each FT_Size        */  /*    object.  Currently, it's empty.                                    */  /*                                                                       */  /*************************************************************************/  typedef struct  FT_Size_InternalRec_  {    /* empty */  } FT_Size_InternalRec;#endif  /*************************************************************************/  /*************************************************************************/  /****                                                                 ****/  /****                                                                 ****/  /****                         M O D U L E S                           ****/  /****                                                                 ****/  /****                                                                 ****/  /*************************************************************************/  /*************************************************************************/  /*************************************************************************/  /*************************************************************************/  /*                                                                       */  /* <Struct>                                                              */  /*    FT_ModuleRec                                                       */  /*                                                                       */  /* <Description>                                                         */  /*    A module object instance.                                          */  /*                                                                       */  /* <Fields>                                                              */  /*    clazz   :: A pointer to the module's class.                        */  /*                                                                       */  /*    library :: A handle to the parent library object.                  */  /*                                                                       */  /*    memory  :: A handle to the memory manager.                         */  /*                                                                       */  /*    generic :: A generic structure for user-level extensibility (?).   */  /*                                                                       */  typedef struct  FT_ModuleRec_  {    FT_Module_Class*  clazz;    FT_Library        library;    FT_Memory         memory;    FT_Generic        generic;  } FT_ModuleRec;  /* typecast an object to a FT_Module */#define FT_MODULE( x )          ((FT_Module)( x ))#define FT_MODULE_CLASS( x )    FT_MODULE( x )->clazz#define FT_MODULE_LIBRARY( x )  FT_MODULE( x )->library#define FT_MODULE_MEMORY( x )   FT_MODULE( x )->memory#define FT_MODULE_IS_DRIVER( x )  ( FT_MODULE_CLASS( x )->module_flags & \                                    FT_MODULE_FONT_DRIVER )#define FT_MODULE_IS_RENDERER( x )  ( FT_MODULE_CLASS( x )->module_flags & \                                      FT_MODULE_RENDERER )#define FT_MODULE_IS_HINTER( x )  ( FT_MODULE_CLASS( x )->module_flags & \                                    FT_MODULE_HINTER )#define FT_MODULE_IS_STYLER( x )  ( FT_MODULE_CLASS( x )->module_flags & \                                    FT_MODULE_STYLER )#define FT_DRIVER_IS_SCALABLE( x )  ( FT_MODULE_CLASS( x )->module_flags & \                                      FT_MODULE_DRIVER_SCALABLE )#define FT_DRIVER_USES_OUTLINES( x )  !( FT_MODULE_CLASS( x )->module_flags & \                                         FT_MODULE_DRIVER_NO_OUTLINES )#define FT_DRIVER_HAS_HINTER( x )  ( FT_MODULE_CLASS( x )->module_flags & \                                     FT_MODULE_DRIVER_HAS_HINTER )  /*************************************************************************/  /*                                                                       */  /* <Function>                                                            */  /*    FT_Get_Module_Interface                                            */  /*                                                                       */  /* <Description>                                                         */  /*    Finds a module and returns its specific interface as a typeless    */  /*    pointer.                                                           */  /*                                                                       */  /* <Input>                                                               */  /*    library     :: A handle to the library object.                     */  /*                                                                       */  /*    module_name :: The module's name (as an ASCII string).             */  /*                                                                       */  /* <Return>                                                              */  /*    A module-specific interface if available, 0 otherwise.             */  /*                                                                       */  /* <Note>                                                                */  /*    You should better be familiar with FreeType internals to know      */  /*    which module to look for, and what its interface is :-)            */  /*                                                                       */  FT_BASE( const void* )  FT_Get_Module_Interface( FT_Library   library,                           const char*  mod_name );  FT_BASE( FT_Pointer )  ft_module_get_service( FT_Module    module,                         const char*  service_id ); /* */  /*************************************************************************/  /*************************************************************************/  /*************************************************************************/  /****                                                                 ****/  /****                                                                 ****/  /****               FACE, SIZE & GLYPH SLOT OBJECTS                   ****/  /****                                                                 ****/  /****                                                                 ****/  /*************************************************************************/  /*************************************************************************/  /*************************************************************************/  /* a few macros used to perform easy typecasts with minimal brain damage */#define FT_FACE( x )          ((FT_Face)(x))#define FT_SIZE( x )          ((FT_Size)(x))#define FT_SLOT( x )          ((FT_GlyphSlot)(x))#define FT_FACE_DRIVER( x )   FT_FACE( x )->driver#define FT_FACE_LIBRARY( x )  FT_FACE_DRIVER( x )->root.library#define FT_FACE_MEMORY( x )   FT_FACE( x )->memory#define FT_FACE_STREAM( x )   FT_FACE( x )->stream#define FT_SIZE_FACE( x )     FT_SIZE( x )->face#define FT_SLOT_FACE( x )     FT_SLOT( x )->face#define FT_FACE_SLOT( x )     FT_FACE( x )->glyph#define FT_FACE_SIZE( x )     FT_FACE( x )->size  /*************************************************************************/  /*                                                                       */  /* <Function>                                                            */  /*    FT_New_GlyphSlot                                                   */  /*                                                                       */  /* <Description>                                                         */  /*    It is sometimes useful to have more than one glyph slot for a      */  /*    given face object.  This function is used to create additional     */  /*    slots.  All of them are automatically discarded when the face is   */  /*    destroyed.                                                         */  /*                                                                       */  /* <Input>                                                               */  /*    face  :: A handle to a parent face object.                         */  /*                                                                       */  /* <Output>                                                              */  /*    aslot :: A handle to a new glyph slot object.                      */  /*                                                                       */  /* <Return>                                                              */  /*    FreeType error code.  0 means success.                             */  /*                                                                       */  FT_BASE( FT_Error )  FT_New_GlyphSlot( FT_Face        face,                    FT_GlyphSlot  *aslot );  /*************************************************************************/  /*                                                                       */  /* <Function>                                                            */  /*    FT_Done_GlyphSlot                                                  */  /*                                                                       */  /* <Description>                                                         */  /*    Destroys a given glyph slot.  Remember however that all slots are  */  /*    automatically destroyed with its parent.  Using this function is   */  /*    not always mandatory.                                              */  /*                                                                       */  /* <Input>                                                               */  /*    slot :: A handle to a target glyph slot.                           */  /*                                                                       */  FT_BASE( void )  FT_Done_GlyphSlot( FT_GlyphSlot  slot ); /* */#define FT_REQUEST_WIDTH( req )                                            \          ( (req)->horiResolution                                          \              ? (FT_Pos)( (req)->width * (req)->horiResolution + 36 ) / 72 \              : (req)->width )#define FT_REQUEST_HEIGHT( req )                                            \          ( (req)->vertResolution                                           \              ? (FT_Pos)( (req)->height * (req)->vertResolution + 36 ) / 72 \              : (req)->height )  /* Set the metrics according to a bitmap strike. */  FT_BASE( void )  FT_Select_Metrics( FT_Face   face,                     FT_ULong  strike_index );  /* Set the metrics according to a size request. */  FT_BASE( void )  FT_Request_Metrics( FT_Face          face,                      FT_Size_Request  req );  /* Match a size request against `available_sizes'. */  FT_BASE( FT_Error )  FT_Match_Size( FT_Face          face,                 FT_Size_Request  req,                 FT_Bool          ignore_width,                 FT_ULong*        size_index );  /* Use the horizontal metrics to synthesize the vertical metrics. */  /* If `advance' is zero, it is also synthesized.                  */  FT_BASE( void )  ft_synthesize_vertical_metrics( FT_Glyph_Metrics*  metrics,                                  FT_Pos             advance );  /* Free the bitmap of a given glyphslot when needed (i.e., only when it */  /* was allocated with ft_glyphslot_alloc_bitmap).                       */  FT_BASE( void )  ft_glyphslot_free_bitmap( FT_GlyphSlot  slot );  /* Allocate a new bitmap buffer in a glyph slot. */  FT_BASE( FT_Error )  ft_glyphslot_alloc_bitmap( FT_GlyphSlot  slot,

⌨️ 快捷键说明

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