📄 ftsystem.h
字号:
/***************************************************************************//* *//* ftsystem.h *//* *//* FreeType low-level system interface definition (specification). *//* *//* Copyright 1996-2001 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. *//* *//***************************************************************************/#ifndef __FTSYSTEM_H__#define __FTSYSTEM_H__#include <ft2build.h>FT_BEGIN_HEADER /*************************************************************************/ /* */ /* <Section> */ /* system_interface */ /* */ /* <Title> */ /* System Interface */ /* */ /* <Abstract> */ /* How FreeType manages memory and i/o. */ /* */ /* <Description> */ /* This section contains various definitions related to memory */ /* management and i/o access. You need to understand this */ /* information if you want to use a custom memory manager or you own */ /* input i/o streams. */ /* */ /*************************************************************************/ /*************************************************************************/ /* */ /* M E M O R Y M A N A G E M E N T */ /* */ /*************************************************************************/ /*************************************************************************/ /* */ /* @type: */ /* FT_Memory */ /* */ /* @description: */ /* A handle to a given memory manager object, defined with a */ /* @FT_MemoryRec structure. */ /* */ typedef struct FT_MemoryRec_* FT_Memory; /*************************************************************************/ /* */ /* @functype: */ /* FT_Alloc_Func */ /* */ /* @description: */ /* A function used to allocate `size' bytes from `memory'. */ /* */ /* @input: */ /* memory :: A handle to the source memory manager. */ /* */ /* size :: The size in bytes to allocate. */ /* */ /* @return: */ /* Address of new memory block. 0 in case of failure. */ /* */ typedef void* (*FT_Alloc_Func)( FT_Memory memory, long size ); /*************************************************************************/ /* */ /* @functype: */ /* FT_Free_Func */ /* */ /* @description: */ /* A function used to release a given block of memory. */ /* */ /* @input: */ /* memory :: A handle to the source memory manager. */ /* */ /* block :: The address of the target memory block. */ /* */ typedef void (*FT_Free_Func)( FT_Memory memory, void* block ); /*************************************************************************/ /* */ /* @functype: */ /* FT_Realloc_Func */ /* */ /* @description: */ /* a function used to re-allocate a given block of memory. */ /* */ /* @input: */ /* memory :: A handle to the source memory manager. */ /* */ /* cur_size :: The block's current size in bytes. */ /* */ /* new_size :: The block's requested new size. */ /* */ /* block :: The block's current address. */ /* */ /* @return: */ /* New block address. 0 in case of memory shortage. */ /* */ /* @note: */ /* In case of error, the old block must still be available. */ /* */ typedef void* (*FT_Realloc_Func)( FT_Memory memory, long cur_size, long new_size, void* block ); /*************************************************************************/ /* */ /* @struct: */ /* FT_MemoryRec */ /* */ /* @description: */ /* A structure used to describe a given memory manager to FreeType 2. */ /* */ /* @fields: */ /* user :: A generic typeless pointer for user data. */ /* */ /* alloc :: A pointer type to an allocation function. */ /* */ /* free :: A pointer type to an memory freeing function. */ /* */ /* realloc :: A pointer type to a reallocation function. */ /* */ struct FT_MemoryRec_ {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -