summaryrefslogtreecommitdiff
path: root/include/freetype/ftcache.h
diff options
context:
space:
mode:
authorDavid Turner <david@freetype.org>2001-12-05 15:59:33 +0000
committerDavid Turner <david@freetype.org>2001-12-05 15:59:33 +0000
commit14183ea0f8b9c021400d748d7311ec2a907e9f8d (patch)
treeed39979879a352b2c51d9748c45eefbdf50682dc /include/freetype/ftcache.h
parentc3b21608699a72698d382ad44c5f9fd6946ce43c (diff)
downloadfreetype2-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.h70
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 );
+
/* */