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

📄 ftsysio.h

📁 qt-x11-opensource-src-4.1.4.tar.gz源码
💻 H
字号:
#ifndef __FT_SYSTEM_IO_H__#define __FT_SYSTEM_IO_H__ /************************************************************************/ /************************************************************************/ /*****                                                              *****/ /*****    NOTE: THE CONTENT OF THIS FILE IS NOT CURRENTLY USED      *****/ /*****          IN NORMAL BUILDS.  CONSIDER IT EXPERIMENTAL.        *****/ /*****                                                              *****/ /************************************************************************/ /************************************************************************/ /********************************************************************  *  *  designing custom streams is a bit different now  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  */#include <ft2build.h>#include FT_INTERNAL_OBJECT_HFT_BEGIN_HEADER /*@*******************************************************************  *  * @type: FT_Stream  *  * @description:  *   handle to an input stream object. These are also @FT_Object handles  */  typedef struct FT_StreamRec_*    FT_Stream; /*@*******************************************************************  *  * @type: FT_Stream_Class  *  * @description:  *   opaque handle to a @FT_Stream_ClassRec class structure describing  *   the methods of input streams  */  typedef const struct FT_Stream_ClassRec_*   FT_Stream_Class; /*@*******************************************************************  *  * @functype: FT_Stream_ReadFunc  *  * @description:  *   a method used to read bytes from an input stream into memory  *  * @input:  *   stream  :: target stream handle  *   buffer  :: target buffer address  *   size    :: number of bytes to read  *  * @return:  *   number of bytes effectively read. Must be <= 'size'.  */  typedef FT_ULong  (*FT_Stream_ReadFunc)( FT_Stream   stream,                                           FT_Byte*    buffer,                                           FT_ULong    size ); /*@*******************************************************************  *  * @functype: FT_Stream_SeekFunc  *  * @description:  *   a method used to seek to a new position within a stream  *  * @input:  *   stream  :: target stream handle  *   pos     :: new read position, from start of stream  *  * @return:  *   error code. 0 means success  */  typedef FT_Error  (*FT_Stream_SeekFunc)( FT_Stream   stream,                                           FT_ULong    pos ); /*@*******************************************************************  *  * @struct: FT_Stream_ClassRec  *  * @description:  *   a structure used to describe an input stream class  *  * @input:  *   clazz       :: root @FT_ClassRec fields  *   stream_read :: stream byte read method  *   stream_seek :: stream seek method  */  typedef struct FT_Stream_ClassRec_  {    FT_ClassRec          clazz;    FT_Stream_ReadFunc   stream_read;    FT_Stream_SeekFunc   stream_seek;  } FT_Stream_ClassRec; /* */#define  FT_STREAM_CLASS(x)        ((FT_Stream_Class)(x))#define  FT_STREAM_CLASS__READ(x)  FT_STREAM_CLASS(x)->stream_read#define  FT_STREAM_CLASS__SEEK(x)  FT_STREAM_CLASS(x)->stream_seek; /*@*******************************************************************  *  * @struct: FT_StreamRec  *  * @description:  *   the input stream object structure. See @FT_Stream_ClassRec for  *   its class descriptor  *  * @fields:  *   object      :: root @FT_ObjectRec fields  *   size        :: size of stream in bytes (0 if unknown)  *   pos         :: current position within stream  *   base        :: for memory-based streams, the address of the stream's  *                  first data byte in memory. NULL otherwise  *  *   cursor      :: the current cursor position within an input stream  *                  frame. Only valid within a FT_FRAME_ENTER .. FT_FRAME_EXIT  *                  block; NULL otherwise  *  *   limit       :: the current frame limit within a FT_FRAME_ENTER ..  *                  FT_FRAME_EXIT block. NULL otherwise  */  typedef struct FT_StreamRec_  {    FT_ObjectRec        object;    FT_ULong            size;    FT_ULong            pos;    const FT_Byte*      base;    const FT_Byte*      cursor;    const FT_Byte*      limit;  } FT_StreamRec; /* some useful macros */#define  FT_STREAM(x)    ((FT_Stream)(x))#define  FT_STREAM_P(x)  ((FT_Stream*)(x))#define  FT_STREAM__READ(x)  FT_STREAM_CLASS__READ(FT_OBJECT__CLASS(x))#define  FT_STREAM__SEEK(x)  FT_STREAM_CLASS__SEEK(FT_OBJECT__CLASS(x))#define  FT_STREAM_IS_BASED(x)  ( FT_STREAM(x)->base != NULL ) /* */ /* create new memory-based stream */  FT_BASE( FT_Error )   ft_stream_new_memory( const FT_Byte*  stream_base,                                              FT_ULong        stream_size,                                              FT_Memory       memory,                                              FT_Stream      *astream );  FT_BASE( FT_Error )   ft_stream_new_iso( const char*  pathanme,                                           FT_Memory    memory,                                           FT_Stream   *astream ); /* handle to default stream class implementation for a given build */ /* this is used by "FT_New_Face"                                   */ /*                                                                 */  FT_APIVAR( FT_Type )   ft_stream_default_type;FT_END_HEADER#endif /* __FT_SYSTEM_STREAM_H__ */

⌨️ 快捷键说明

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