📄 ftsystem.h
字号:
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 + -