diff options
author | David Turner <david@freetype.org> | 2001-12-05 15:59:33 +0000 |
---|---|---|
committer | David Turner <david@freetype.org> | 2001-12-05 15:59:33 +0000 |
commit | 14183ea0f8b9c021400d748d7311ec2a907e9f8d (patch) | |
tree | ed39979879a352b2c51d9748c45eefbdf50682dc /include/freetype/ftcache.h | |
parent | c3b21608699a72698d382ad44c5f9fd6946ce43c (diff) | |
download | freetype2-14183ea0f8b9c021400d748d7311ec2a907e9f8d.tar.gz |
First of all, a big thanks to Werner and Antoine for their latest work !!
* src/pshinter/pshalgo2.c (psh2_hint_table_init),
src/pshinter/pshalgo1.c (psh1_hint_table_init): removed compiler
warnings
* include/freetype/cache/*, src/cache/*: yet another massive rewrite of
the caching sub-system, in order to both increase performance and allow
simpler cache sub-classing. As an example, the code for the image and
sbit caches is now much simpler
I still need to update the documentation in www/freetype2/docs/cache.html
to reflect the new design though..
Diffstat (limited to 'include/freetype/ftcache.h')
-rw-r--r-- | include/freetype/ftcache.h | 70 |
1 files changed, 69 insertions, 1 deletions
diff --git a/include/freetype/ftcache.h b/include/freetype/ftcache.h index d28b21da1..b05910202 100644 --- a/include/freetype/ftcache.h +++ b/include/freetype/ftcache.h @@ -57,6 +57,37 @@ FT_BEGIN_HEADER /* This section describes the FreeType 2 cache sub-system which is */ /* stile in beta. */ /* */ + /* <Order> */ + /* FTC_Manager */ + /* FTC_FaceID */ + /* FTC_Face_Requester */ + /* */ + /* FTC_Manager_New */ + /* FTC_Manager_Lookup_Face */ + /* FTC_Manager_Lookup_Size */ + /* */ + /* FTC_Node */ + /* FTC_Node_Unref */ + /* */ + /* FTC_Font */ + /* FTC_ImageDesc */ + /* FTC_ImageCache */ + /* FTC_ImageCache_New */ + /* FTC_ImageCache_Lookup */ + /* */ + /* FTC_SBit */ + /* FTC_SBitCache */ + /* FTC_SBitCache_New */ + /* FTC_SBitCache_Lookup */ + /* */ + /* */ + /* FTC_Image_Desc */ + /* FTC_Image_Cache */ + /* FTC_Image_Cache_Lookup */ + /* */ + /* FTC_SBit_Cache */ + /* FTC_Sbit_Cache_Lookup */ + /* */ /*************************************************************************/ @@ -157,7 +188,6 @@ FT_BEGIN_HEADER ((f)->pix_width << 8) ^ \ ((f)->pix_height) ) - /*************************************************************************/ /* */ /* <Type> */ @@ -194,6 +224,26 @@ FT_BEGIN_HEADER /*************************************************************************/ /* */ + /* <Type> */ + /* FTC_Node */ + /* */ + /* <Description> */ + /* an opaque handle to a cache node object. Each cache node is */ + /* reference-counted. A node with a count of 0 might be flushed */ + /* out of a full cache whenever a lookup request is performed */ + /* */ + /* when you lookup nodes, you have the ability to "acquire" them, */ + /* i.e. increment their reference count. This will prevent the node */ + /* from being flushed out of the cache until you explicitely */ + /* "release" it (see @FTC_Node_Release) */ + /* */ + /* see @FTC_BitsetCache_Lookup and @FTC_ImageCache_Lookup */ + /* */ + typedef struct FTC_NodeRec_* FTC_Node; + + + /*************************************************************************/ + /* */ /* <Function> */ /* FTC_Manager_New */ /* */ @@ -349,6 +399,24 @@ FT_BEGIN_HEADER FT_Face *aface, 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 :: cache node handle */ + /* manager :: cache manager handle */ + /* */ + FT_EXPORT( void ) + FTC_Node_Unref( FTC_Node node, + FTC_Manager manager ); + /* */ |