📄 ftcache.h
字号:
/* */ /* <Output> */ /* asize :: A handle to the size object. */ /* */ /* <Return> */ /* FreeType error code. 0 means success. */ /* */ /* <Note> */ /* The returned @FT_Size object is always owned by the manager. You */ /* should never try to discard it by yourself. */ /* */ /* You can access the parent @FT_Face object simply as `size->face' */ /* if you need it. Note that this object is also owned by the */ /* manager. */ /* */ FT_EXPORT( FT_Error ) FTC_Manager_LookupSize( FTC_Manager manager, FTC_Scaler scaler, FT_Size *asize ); /*************************************************************************/ /* */ /* <Function> */ /* FTC_Node_Unref */ /* */ /* <Description> */ /* Decrement a cache node's internal reference count. When the count */ /* reaches 0, it is not destroyed but becomes eligible for subsequent */ /* cache flushes. */ /* */ /* <Input> */ /* node :: The cache node handle. */ /* */ /* manager :: The cache manager handle. */ /* */ FT_EXPORT( void ) FTC_Node_Unref( FTC_Node node, FTC_Manager manager ); /* remove all nodes belonging to a given face_id */ FT_EXPORT( void ) FTC_Manager_RemoveFaceID( FTC_Manager manager, FTC_FaceID face_id ); /*************************************************************************/ /* */ /* <Section> */ /* cache_subsystem */ /* */ /*************************************************************************/ /************************************************************************ * * @type: * FTC_CMapCache * * @description: * An opaque handle used to manager a charmap cache. This cache is * to hold character codes -> glyph indices mappings. */ typedef struct FTC_CMapCacheRec_* FTC_CMapCache; /*************************************************************************/ /* */ /* @function: */ /* FTC_CMapCache_New */ /* */ /* @description: */ /* Create a new charmap cache. */ /* */ /* @input: */ /* manager :: A handle to the cache manager. */ /* */ /* @output: */ /* acache :: A new cache handle. NULL in case of error. */ /* */ /* @return: */ /* FreeType error code. 0 means success. */ /* */ /* @note: */ /* Like all other caches, this one will be destroyed with the cache */ /* manager. */ /* */ FT_EXPORT( FT_Error ) FTC_CMapCache_New( FTC_Manager manager, FTC_CMapCache *acache ); /*************************************************************************/ /* */ /* @function: */ /* FTC_CMapCache_Lookup */ /* */ /* @description: */ /* Translate a character code into a glyph index, using the charmap */ /* cache. */ /* */ /* @input: */ /* cache :: A charmap cache handle. */ /* */ /* face_id :: The source face ID. */ /* */ /* cmap_index :: The index of the charmap in the source face. */ /* */ /* char_code :: The character code (in the corresponding charmap). */ /* */ /* @return: */ /* Glyph index. 0 means `no glyph'. */ /* */ FT_EXPORT( FT_UInt ) FTC_CMapCache_Lookup( FTC_CMapCache cache, FTC_FaceID face_id, FT_Int cmap_index, FT_UInt32 char_code ); /*************************************************************************/ /* */ /* <Section> */ /* cache_subsystem */ /* */ /*************************************************************************/ /*************************************************************************/ /*************************************************************************/ /*************************************************************************/ /***** *****/ /***** IMAGE CACHE OBJECT *****/ /***** *****/ /*************************************************************************/ /*************************************************************************/ /*************************************************************************/ typedef struct FTC_ImageTypeRec_ { FTC_FaceID face_id; FT_Int width; FT_Int height; FT_Int32 flags; } FTC_ImageTypeRec; typedef struct FTC_ImageTypeRec_* FTC_ImageType; /* */#define FTC_IMAGE_TYPE_COMPARE( d1, d2 ) \ ( FTC_FONT_COMPARE( &(d1)->font, &(d2)->font ) && \ (d1)->flags == (d2)->flags )#define FTC_IMAGE_TYPE_HASH( d ) \ (FT_UFast)( FTC_FONT_HASH( &(d)->font ) ^ \ ( (d)->flags << 4 ) ) /*************************************************************************/ /* */ /* <Type> */ /* FTC_ImageCache */ /* */ /* <Description> */ /* A handle to an glyph image cache object. They are designed to */ /* hold many distinct glyph images while not exceeding a certain */ /* memory threshold. */ /* */ typedef struct FTC_ImageCacheRec_* FTC_ImageCache; /*************************************************************************/ /* */ /* <Function> */ /* FTC_ImageCache_New */ /* */ /* <Description> */ /* Creates a new glyph image cache. */ /* */ /* <Input> */ /* manager :: The parent manager for the image cache. */ /* */ /* <Output> */ /* acache :: A handle to the new glyph image cache object. */ /* */ /* <Return> */ /* FreeType error code. 0 means success. */ /* */ FT_EXPORT( FT_Error ) FTC_ImageCache_New( FTC_Manager manager, FTC_ImageCache *acache ); /*************************************************************************/ /* */ /* <Function> */ /* FTC_ImageCache_Lookup */ /* */ /* <Description> */ /* Retrieves a given glyph image from a glyph image cache. */ /* */ /* <Input> */ /* cache :: A handle to the source glyph image cache. */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -