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

📄 ftsystem.h

📁 一个类似windows
💻 H
📖 第 1 页 / 共 2 页
字号:
    void*            user;
    FT_Alloc_Func    alloc;
    FT_Free_Func     free;
    FT_Realloc_Func  realloc;
  };


  /*************************************************************************/
  /*                                                                       */
  /*                       I / O   M A N A G E M E N T                     */
  /*                                                                       */
  /*************************************************************************/


  /*************************************************************************/
  /*                                                                       */
  /* @type:                                                                */
  /*    FT_Stream                                                          */
  /*                                                                       */
  /* @description:                                                         */
  /*    A handle to an input stream.                                       */
  /*                                                                       */
  typedef struct FT_StreamRec_*  FT_Stream;


  /*************************************************************************/
  /*                                                                       */
  /* @struct:                                                              */
  /*    FT_StreamDesc                                                      */
  /*                                                                       */
  /* @description:                                                         */
  /*    A union type used to store either a long or a pointer.  This is    */
  /*    used to store a file descriptor or a FILE* in an input stream.     */
  /*                                                                       */
  typedef union  FT_StreamDesc_
  {
    long   value;
    void*  pointer;

  } FT_StreamDesc;


  /*************************************************************************/
  /*                                                                       */
  /* @functype:                                                            */
  /*    FT_Stream_IoFunc                                                   */
  /*                                                                       */
  /* @description:                                                         */
  /*    A function used to seek and read data from a given input stream.   */
  /*                                                                       */
  /* @input:                                                               */
  /*    stream :: A handle to the source stream.                           */
  /*                                                                       */
  /*    offset :: The offset of read in stream (always from start).        */
  /*                                                                       */
  /*    buffer :: The address of the read buffer.                          */
  /*                                                                       */
  /*    count  :: The number of bytes to read from the stream.             */
  /*                                                                       */
  /* @return:                                                              */
  /*    The number of bytes effectively read by the stream.                */
  /*                                                                       */
  /* @note:                                                                */
  /*    This function might be called to perform a seek or skip operation  */
  /*    with a `count' of 0.                                               */
  /*                                                                       */
  typedef unsigned long
  (*FT_Stream_IoFunc)( FT_Stream       stream,
                       unsigned long   offset,
                       unsigned char*  buffer,
                       unsigned long   count );


  /*************************************************************************/
  /*                                                                       */
  /* @functype:                                                            */
  /*    FT_Stream_CloseFunc                                                */
  /*                                                                       */
  /* @description:                                                         */
  /*    A function used to close a given input stream.                     */
  /*                                                                       */
  /* @input:                                                               */
  /*   stream :: A handle to the target stream.                            */
  /*                                                                       */
  typedef void
  (*FT_Stream_CloseFunc)( FT_Stream  stream );


  /*************************************************************************/
  /*                                                                       */
  /* @struct:                                                              */
  /*    FT_StreamRec                                                       */
  /*                                                                       */
  /* @description:                                                         */
  /*   A structure used to describe an input stream.                       */
  /*                                                                       */
  /* @input:                                                               */
  /*   base       :: For memory-based streams, this is the address of the  */
  /*                 first stream byte in memory.  This field should       */
  /*                 always be set to NULL for disk-based streams.         */
  /*                                                                       */
  /*   size       :: The stream size in bytes.                             */
  /*                                                                       */
  /*   pos        :: The current position within the stream.               */
  /*                                                                       */
  /*   descriptor :: This field is a union that can hold an integer or a   */
  /*                 pointer.  It is used by stream implementations to     */
  /*                 store file descriptors or FILE* pointers.             */
  /*                                                                       */
  /*   pathname   :: This field is completely ignored by FreeType.         */
  /*                 However, it is often useful during debugging to use   */
  /*                 it to store the stream's filename (where available).  */
  /*                                                                       */
  /*   read       :: The stream's input function.                          */
  /*                                                                       */
  /*   close      :: The stream;s close function.                          */
  /*                                                                       */
  /*   memory     :: The memory manager to use to preload frames.  This is */
  /*                 set internally by FreeType and shouldn't be touched   */
  /*                 by stream implementations.                            */
  /*                                                                       */
  /*   cursor     :: This field is set and used internally by FreeType     */
  /*                 when parsing frames.                                  */
  /*                                                                       */
  /*   limit      :: This field is set and used internally by FreeType     */
  /*                 when parsing frames.                                  */
  /*                                                                       */
  typedef struct  FT_StreamRec_
  {
    unsigned char*       base;
    unsigned long        size;
    unsigned long        pos;

    FT_StreamDesc        descriptor;
    FT_StreamDesc        pathname;
    FT_Stream_IoFunc     read;
    FT_Stream_CloseFunc  close;

    FT_Memory            memory;
    unsigned char*       cursor;
    unsigned char*       limit;

  } FT_StreamRec;


  /* */


FT_END_HEADER

#endif /* __FTSYSTEM_H__ */


/* END */

⌨️ 快捷键说明

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