FreeType-2.1.10 API Reference
Cache Sub-System
Synopsis
#FTC_Manager
FTC_Manager
#FTC_Manager_LookupSize
FTC_Manager_LookupSize
#FTC_SBitCache_New
FTC_SBitCache_New
#FTC_FaceID
FTC_FaceID
#FTC_Node_Unref
FTC_Node_Unref
#FTC_SBitCache_Lookup
FTC_SBitCache_Lookup
#FTC_Face_Requester
FTC_Face_Requester
#FTC_CMapCache
FTC_CMapCache
#FTC_CMapCache
FTC_CMapCache
#FTC_FontRec
FTC_FontRec
#FTC_CMapCache_New
FTC_CMapCache_New
#FTC_CMapDesc
FTC_CMapDesc
#FTC_Font
FTC_Font
#FTC_CMapCache_Lookup
FTC_CMapCache_Lookup
#FTC_CMapType
FTC_CMapType
#FTC_Node
FTC_Node
#FTC_ImageCache
FTC_ImageCache
#FTC_CMapIdRec
FTC_CMapIdRec
#FTC_Manager_New
FTC_Manager_New
#FTC_ImageCache_New
FTC_ImageCache_New
#FTC_CMapDescRec
FTC_CMapDescRec
#FTC_Manager_Reset
FTC_Manager_Reset
#FTC_ImageCache_Lookup
FTC_ImageCache_Lookup
#FTC_CMapCache_New
FTC_CMapCache_New
#FTC_Manager_Done
FTC_Manager_Done
#FTC_SBit
FTC_SBit
#FTC_CMapCache_Lookup
FTC_CMapCache_Lookup
#FTC_Manager_LookupFace
FTC_Manager_LookupFace
#FTC_SBitRec
FTC_SBitRec
#FTC_Manager_Compress
FTC_Manager_Compress
#FTC_ScalerRec
FTC_ScalerRec
#FTC_SBitCache
FTC_SBitCache
This section describes the FreeType 2 cache sub-system which is still in beta.
FTC_Manager
typedef
struct
FTC_ManagerRec_*
FTC_Manager
;
This object is used to cache one or more
ft2-base_interface.html#FT_Face
FT_Face
objects, along with corresponding
ft2-base_interface.html#FT_Size
FT_Size
objects.
FTC_FaceID
typedef
struct
FTC_FaceIDRec_*
FTC_FaceID
;
An opaque pointer type that is used to identity face objects. The contents of such objects is application-dependent.
FTC_Face_Requester
typedef
ft2-basic_types.html#FT_Error
FT_Error
(*
FTC_Face_Requester
)(
ft2-cache_subsystem.html#FTC_FaceID
FTC_FaceID
face_id,
ft2-base_interface.html#FT_Library
FT_Library
library,
ft2-basic_types.html#FT_Pointer
FT_Pointer
request_data,
ft2-base_interface.html#FT_Face
FT_Face
*    aface );
A callback function provided by client applications. It is used to translate a given
ft2-cache_subsystem.html#FTC_FaceID
FTC_FaceID
into a new valid
ft2-base_interface.html#FT_Face
FT_Face
object.
input
face_id
The face ID to resolve.
library
A handle to a FreeType library object.
data
Application-provided request data.
output
aface
A new
ft2-base_interface.html#FT_Face
FT_Face
handle.
return
FreeType error code. 0 means success.
note
The face requester should not perform funny things on the returned face object, like creating a new
ft2-base_interface.html#FT_Size
FT_Size
for it, or setting a transformation through
ft2-base_interface.html#FT_Set_Transform
FT_Set_Transform
!
FTC_FontRec
typedef
struct
FTC_FontRec_
{
ft2-cache_subsystem.html#FTC_FaceID
FTC_FaceID
face_id;
ft2-basic_types.html#FT_UShort
FT_UShort
pix_width;
ft2-basic_types.html#FT_UShort
FT_UShort
pix_height;
}
FTC_FontRec
;
A simple structure used to describe a given `font' to the cache manager. Note that a `font' is the combination of a given face with a given character size.
fields
face_id
The ID of the face to use.
pix_width
The character width in integer pixels.
pix_height
The character height in integer pixels.
FTC_Font
typedef
ft2-cache_subsystem.html#FTC_FontRec
FTC_FontRec
*
FTC_Font
;
A simple handle to an
ft2-cache_subsystem.html#FTC_FontRec
FTC_FontRec
structure.
FTC_Node
typedef
struct
FTC_NodeRec_*
FTC_Node
;
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.
If you lookup nodes, you have the ability to "acquire" them, i.e., to increment their reference count. This will prevent the node from being flushed out of the cache until you explicitly "release" it (see
ft2-cache_subsystem.html#FTC_Node_Unref
FTC_Node_Unref
).
See also
ft2-cache_subsystem.html#FTC_SBitCache_Lookup
FTC_SBitCache_Lookup
and
ft2-cache_subsystem.html#FTC_ImageCache_Lookup
FTC_ImageCache_Lookup
.
FTC_Manager_New
FT_EXPORT(
ft2-basic_types.html#FT_Error
FT_Error
)
FTC_Manager_New
(
ft2-base_interface.html#FT_Library
FT_Library
library,
ft2-basic_types.html#FT_UInt
FT_UInt
max_faces,
ft2-basic_types.html#FT_UInt
FT_UInt
max_sizes,
ft2-basic_types.html#FT_ULong
FT_ULong
max_bytes,
ft2-cache_subsystem.html#FTC_Face_Requester
FTC_Face_Requester
requester,
ft2-basic_types.html#FT_Pointer
FT_Pointer
req_data,
ft2-cache_subsystem.html#FTC_Manager
FTC_Manager
*amanager );
Creates a new cache manager.
input
library
The parent FreeType library handle to use.
max_bytes
Maximum number of bytes to use for cached data. Use 0 for defaults.
requester
An application-provided callback used to translate face IDs into real
ft2-base_interface.html#FT_Face
FT_Face
objects.
req_data
A generic pointer that is passed to the requester each time it is called (see
ft2-cache_subsystem.html#FTC_Face_Requester
FTC_Face_Requester
).
output
amanager
A handle to a new manager object. 0 in case of failure.
return
FreeType error code. 0 means success.
FTC_Manager_Reset
FT_EXPORT(
void
)
FTC_Manager_Reset
(
ft2-cache_subsystem.html#FTC_Manager
FTC_Manager
manager );
Empties a given cache manager. This simply gets rid of all the currently cached
ft2-base_interface.html#FT_Face
FT_Face
and
ft2-base_interface.html#FT_Size
FT_Size
objects within the manager.
inout
manager
A handle to the manager.
FTC_Manager_Done
FT_EXPORT(
void
)
FTC_Manager_Done
(
ft2-cache_subsystem.html#FTC_Manager
FTC_Manager
manager );
Destroys a given manager after emptying it.
input
manager
A handle to the target cache manager object.
FTC_Manager_LookupFace
FT_EXPORT(
ft2-basic_types.html#FT_Error
FT_Error
)
FTC_Manager_LookupFace
(
ft2-cache_subsystem.html#FTC_Manager
FTC_Manager
manager,
ft2-cache_subsystem.html#FTC_FaceID
FTC_FaceID
face_id,
ft2-base_interface.html#FT_Face
FT_Face
*aface );
Retrieves the
ft2-base_interface.html#FT_Face
FT_Face
object that corresponds to a given face ID through a cache manager.
input
manager
A handle to the cache manager.
face_id
The ID of the face object.
output
aface
A handle to the face object.
return
FreeType error code. 0 means success.
note
The returned
ft2-base_interface.html#FT_Face
FT_Face
object is always owned by the manager. You should never try to discard it yourself.
The
ft2-base_interface.html#FT_Face
FT_Face
object doesn't necessarily have a current size object (i.e., face->size can be 0). If you need a specific `font size', use
ft2-cache_subsystem.html#FTC_Manager_LookupSize
FTC_Manager_LookupSize
instead.
Never change the face's transformation matrix (i.e., never call the
ft2-base_interface.html#FT_Set_Transform
FT_Set_Transform
function) on a returned face! If you need to transform glyphs, do it yourself after glyph loading.
FTC_ScalerRec
typedef
struct
FTC_ScalerRec_
{
ft2-cache_subsystem.html#FTC_FaceID
FTC_FaceID
face_id;
ft2-basic_types.html#FT_UInt
FT_UInt
width;
ft2-basic_types.html#FT_UInt
FT_UInt
height;
ft2-basic_types.html#FT_Int
FT_Int
pixel;
ft2-basic_types.html#FT_UInt
FT_UInt
x_res;
ft2-basic_types.html#FT_UInt
FT_UInt
y_res;
}
FTC_ScalerRec
, *FTC_Scaler;
A structure used to describe a given character size in either pixels or points to the cache manager. See
ft2-cache_subsystem.html#FTC_Manager_LookupSize
FTC_Manager_LookupSize
.
fields
face_id
The source face ID.
width
The character width.
height
The character height.
pixel
A Boolean. If TRUE, the `width' and `height' fields are interpreted as integer pixel character sizes. Otherwise, they are expressed as 1/64th of points.
x_res
Only used when `pixel' is FALSE to indicate the horizontal resolution in dpi.
y_res
Only used when `pixel' is FALSE to indicate the vertical resolution in dpi.
note
This type is mainly used to retrieve
ft2-base_interface.html#FT_Size
FT_Size
objects through the cache manager.
FTC_Manager_LookupSize
FT_EXPORT(
ft2-basic_types.html#FT_Error
FT_Error
)
FTC_Manager_LookupSize
(
ft2-cache_subsystem.html#FTC_Manager
FTC_Manager
manager,
FTC_Scaler   scaler,
ft2-base_interface.html#FT_Size
FT_Size
*asize );
Retrieve the
ft2-base_interface.html#FT_Size
FT_Size
object that corresponds to a given ?FTC_Scaler? through a cache manager.
input
manager
A handle to the cache manager.
scaler
A scaler handle.
output
asize
A handle to the size object.
return
FreeType error code. 0 means success.
note
The returned
ft2-base_interface.html#FT_Size
FT_Size
object is always owned by the manager. You should never try to discard it by yourself.
You can access the parent
ft2-base_interface.html#FT_Face
FT_Face
object simply as `size->face' if you need it. Note that this object is also owned by the manager.
FTC_Node_Unref
FT_EXPORT(
void
)
FTC_Node_Unref
(
ft2-cache_subsystem.html#FTC_Node
FTC_Node
node,
ft2-cache_subsystem.html#FTC_Manager
FTC_Manager
manager );
/* remove all nodes belonging to a given face_id */
FT_EXPORT(
void
)
FTC_Manager_RemoveFaceID(
ft2-cache_subsystem.html#FTC_Manager
FTC_Manager
manager,
ft2-cache_subsystem.html#FTC_FaceID
FTC_FaceID
face_id );
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.
FTC_CMapCache
typedef
struct
FTC_CMapCacheRec_*
FTC_CMapCache
;
An opaque handle used to manager a charmap cache. This cache is to hold character codes -> glyph indices mappings.
FTC_CMapCache_New
FT_EXPORT(
ft2-basic_types.html#FT_Error
FT_Error
)
FTC_CMapCache_New
(
ft2-cache_subsystem.html#FTC_Manager
FTC_Manager
manager,
ft2-cache_subsystem.html#FTC_CMapCache
FTC_CMapCache
*acache );
Creates 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.
FTC_CMapCache_Lookup
FT_EXPORT(
ft2-basic_types.html#FT_UInt
FT_UInt
)
FTC_CMapCache_Lookup
(
ft2-cache_subsystem.html#FTC_CMapCache
FTC_CMapCache
cache,
ft2-cache_subsystem.html#FTC_CMapDesc
FTC_CMapDesc
cmap_desc,
FT_UInt32
char_code
);
Translates a character code into a glyph index, using the charmap cache.
input
cache
A charmap cache handle.
cmap_desc
A charmap descriptor handle.
char_code
The character code (in the corresponding charmap).
return
Glyph index. 0 means "no glyph".
note
This function doesn't return
ft2-cache_subsystem.html#FTC_Node
FTC_Node
handles, since there is no real use for them with typical uses of charmaps.
FTC_ImageCache
typedef
struct
FTC_ImageCacheRec_*
FTC_ImageCache
;
A handle to an glyph image cache object. They are designed to hold many distinct glyph images while not exceeding a certain memory threshold.
FTC_ImageCache_New
FT_EXPORT(
ft2-basic_types.html#FT_Error
FT_Error
)
FTC_ImageCache_New
(
ft2-cache_subsystem.html#FTC_Manager
FTC_Manager
manager,
ft2-cache_subsystem.html#FTC_ImageCache
FTC_ImageCache
*acache );
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.
FTC_ImageCache_Lookup
FT_EXPORT(
ft2-basic_types.html#FT_Error
FT_Error
)
FTC_ImageCache_Lookup
(
ft2-cache_subsystem.html#FTC_ImageCache
FTC_ImageCache
cache,
FTC_ImageType   type,
ft2-basic_types.html#FT_UInt
FT_UInt
gindex,
ft2-glyph_management.html#FT_Glyph
FT_Glyph
*aglyph,
ft2-cache_subsystem.html#FTC_Node
FTC_Node
*anode );
Retrieves a given glyph image from a glyph image cache.
input
cache
A handle to the source glyph image cache.
type
A pointer to a glyph image type descriptor.
gindex
The glyph index to retrieve.
output
aglyph
The corresponding
ft2-glyph_management.html#FT_Glyph
FT_Glyph
object. 0 in case of failure.
anode
Used to return the address of of the corresponding cache node after incrementing its reference count (see note below).
return
FreeType error code. 0 means success.
note
The returned glyph is owned and managed by the glyph image cache. Never try to transform or discard it manually! You can however create a copy with
ft2-glyph_management.html#FT_Glyph_Copy
FT_Glyph_Copy
and modify the new one.
If `anode' is
not
NULL, it receives the address of the cache node containing the glyph image, after increasing its reference count. This ensures that the node (as well as the FT_Glyph) will always be kept in the cache until you call
ft2-cache_subsystem.html#FTC_Node_Unref
FTC_Node_Unref
to `release' it.
If `anode' is NULL, the cache node is left unchanged, which means that the FT_Glyph could be flushed out of the cache on the next call to one of the caching sub-system APIs. Don't assume that it is persistent!
FTC_SBit
typedef
struct
FTC_SBitRec_*
FTC_SBit
;
A handle to a small bitmap descriptor. See the
ft2-cache_subsystem.html#FTC_SBitRec
FTC_SBitRec
structure for details.
FTC_SBitRec
typedef
struct
FTC_SBitRec_
{
ft2-basic_types.html#FT_Byte
FT_Byte
width;
ft2-basic_types.html#FT_Byte
FT_Byte
height;
ft2-basic_types.html#FT_Char
FT_Char
left;
ft2-basic_types.html#FT_Char
FT_Char
top;
ft2-basic_types.html#FT_Byte
FT_Byte
format;
ft2-basic_types.html#FT_Byte
FT_Byte
max_grays;
ft2-basic_types.html#FT_Short
FT_Short
pitch;
ft2-basic_types.html#FT_Char
FT_Char
xadvance;
ft2-basic_types.html#FT_Char
FT_Char
yadvance;
ft2-basic_types.html#FT_Byte
FT_Byte
*  buffer;
}
FTC_SBitRec
;
A very compact structure used to describe a small glyph bitmap.
fields
width
The bitmap width in pixels.
height
The bitmap height in pixels.
left
The horizontal distance from the pen position to the left bitmap border (a.k.a. `left side bearing', or `lsb').
top
The vertical distance from the pen position (on the baseline) to the upper bitmap border (a.k.a. `top side bearing'). The distance is positive for upwards Y coordinates.
format
The format of the glyph bitmap (monochrome or gray).
max_grays
Maximum gray level value (in the range 1 to 255).
pitch
The number of bytes per bitmap line. May be positive or negative.
xadvance
The horizontal advance width in pixels.
yadvance
The vertical advance height in pixels.
buffer
A pointer to the bitmap pixels.
FTC_SBitCache
typedef
struct
FTC_SBitCacheRec_*
FTC_SBitCache
;
A handle to a small bitmap cache. These are special cache objects used to store small glyph bitmaps (and anti-aliased pixmaps) in a much more efficient way than the traditional glyph image cache implemented by
ft2-cache_subsystem.html#FTC_ImageCache
FTC_ImageCache
.
FTC_SBitCache_New
FT_EXPORT(
ft2-basic_types.html#FT_Error
FT_Error
)
FTC_SBitCache_New
(
ft2-cache_subsystem.html#FTC_Manager
FTC_Manager
manager,
ft2-cache_subsystem.html#FTC_SBitCache
FTC_SBitCache
*acache );
Creates a new cache to store small glyph bitmaps.
input
manager
A handle to the source cache manager.
output
acache
A handle to the new sbit cache. NULL in case of error.
return
FreeType error code. 0 means success.
FTC_SBitCache_Lookup
FT_EXPORT(
ft2-basic_types.html#FT_Error
FT_Error
)
FTC_SBitCache_Lookup
(
ft2-cache_subsystem.html#FTC_SBitCache
FTC_SBitCache
cache,
FTC_ImageType    type,
ft2-basic_types.html#FT_UInt
FT_UInt
gindex,
ft2-cache_subsystem.html#FTC_SBit
FTC_SBit
*sbit,
ft2-cache_subsystem.html#FTC_Node
FTC_Node
*anode );
Looks up a given small glyph bitmap in a given sbit cache and `lock' it to prevent its flushing from the cache until needed.
input
cache
A handle to the source sbit cache.
type
A pointer to the glyph image type descriptor.
gindex
The glyph index.
output
sbit
A handle to a small bitmap descriptor.
anode
Used to return the address of of the corresponding cache node after incrementing its reference count (see note below).
return
FreeType error code. 0 means success.
note
The small bitmap descriptor and its bit buffer are owned by the cache and should never be freed by the application. They might as well disappear from memory on the next cache lookup, so don't treat them as persistent data.
The descriptor's `buffer' field is set to 0 to indicate a missing glyph bitmap.
If `anode' is
not
NULL, it receives the address of the cache node containing the bitmap, after increasing its reference count. This ensures that the node (as well as the image) will always be kept in the cache until you call
ft2-cache_subsystem.html#FTC_Node_Unref
FTC_Node_Unref
to `release' it.
If `anode' is NULL, the cache node is left unchanged, which means that the bitmap could be flushed out of the cache on the next call to one of the caching sub-system APIs. Don't assume that it is persistent!
FTC_CMapCache
typedef
struct
FTC_CMapCacheRec_*
FTC_CMapCache
;
An opaque handle used to manager a charmap cache. This cache is to hold character codes -> glyph indices mappings.
FTC_CMapDesc
typedef
struct
FTC_CMapDescRec_*
FTC_CMapDesc
;
A handle to an
ft2-cache_subsystem.html#FTC_CMapDescRec
FTC_CMapDescRec
structure used to describe a given charmap in a charmap cache.
Each
ft2-cache_subsystem.html#FTC_CMapDesc
FTC_CMapDesc
describes which charmap (of which
ft2-cache_subsystem.html#FTC_FaceID
FTC_FaceID
) we want to use in
ft2-cache_subsystem.html#FTC_CMapCache_Lookup
FTC_CMapCache_Lookup
.
FTC_CMapType
typedef
enum
FTC_CMapType_
{
ft2-cache_subsystem.html#FTC_CMapType
FTC_CMAP_BY_INDEX
= 0,
ft2-cache_subsystem.html#FTC_CMapType
FTC_CMAP_BY_ENCODING
= 1,
ft2-cache_subsystem.html#FTC_CMapType
FTC_CMAP_BY_ID
= 2
}
FTC_CMapType
;
The list of valid
ft2-cache_subsystem.html#FTC_CMapDesc
FTC_CMapDesc
types. They indicate how we want to address a charmap within an
ft2-cache_subsystem.html#FTC_FaceID
FTC_FaceID
.
values
FTC_CMAP_BY_INDEX
Address a charmap by its index in the corresponding
ft2-base_interface.html#FT_Face
FT_Face
.
FTC_CMAP_BY_ENCODING
Use a
ft2-base_interface.html#FT_Face
FT_Face
charmap that corresponds to a given encoding.
FTC_CMAP_BY_ID
Use an
ft2-base_interface.html#FT_Face
FT_Face
charmap that corresponds to a given (platform,encoding) ID. See
ft2-cache_subsystem.html#FTC_CMapIdRec
FTC_CMapIdRec
.
FTC_CMapIdRec
typedef
struct
FTC_CMapIdRec_
{
ft2-basic_types.html#FT_UInt
FT_UInt
platform;
ft2-basic_types.html#FT_UInt
FT_UInt
encoding;
}
FTC_CMapIdRec
;
A short structure to identify a charmap by a (platform,encoding) pair of values.
fields
platform
The platform ID.
encoding
The encoding ID.
FTC_CMapDescRec
typedef
struct
FTC_CMapDescRec_
{
ft2-cache_subsystem.html#FTC_FaceID
FTC_FaceID
face_id;
ft2-cache_subsystem.html#FTC_CMapType
FTC_CMapType
type;
union
{
ft2-basic_types.html#FT_UInt
FT_UInt
index;
ft2-base_interface.html#FT_Encoding
FT_Encoding
encoding;
ft2-cache_subsystem.html#FTC_CMapIdRec
FTC_CMapIdRec
id;
} u;
}
FTC_CMapDescRec
;
A structure to describe a given charmap to
ft2-cache_subsystem.html#FTC_CMapCache
FTC_CMapCache
.
fields
face_id
ft2-cache_subsystem.html#FTC_FaceID
FTC_FaceID
of the face this charmap belongs to.
type
The type of charmap, see
ft2-cache_subsystem.html#FTC_CMapType
FTC_CMapType
.
u.index :: For
ft2-cache_subsystem.html#FTC_CMapType
FTC_CMAP_BY_INDEX
types, this is the charmap index (within a
ft2-base_interface.html#FT_Face
FT_Face
) we want to use.
u.encoding :: For
ft2-cache_subsystem.html#FTC_CMapType
FTC_CMAP_BY_ENCODING
types, this is the charmap encoding we want to use. see
ft2-base_interface.html#FT_Encoding
FT_Encoding
.
u.id :: For
ft2-cache_subsystem.html#FTC_CMapType
FTC_CMAP_BY_ID
types, this is the (platform,encoding) pair we want to use. see
ft2-cache_subsystem.html#FTC_CMapIdRec
FTC_CMapIdRec
and
ft2-base_interface.html#FT_CharMapRec
FT_CharMapRec
.
FTC_CMapCache_New
FT_EXPORT(
ft2-basic_types.html#FT_Error
FT_Error
)
FTC_CMapCache_New
(
ft2-cache_subsystem.html#FTC_Manager
FTC_Manager
manager,
ft2-cache_subsystem.html#FTC_CMapCache
FTC_CMapCache
*acache );
Creates 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.
FTC_CMapCache_Lookup
FT_EXPORT(
ft2-basic_types.html#FT_UInt
FT_UInt
)
FTC_CMapCache_Lookup
(
ft2-cache_subsystem.html#FTC_CMapCache
FTC_CMapCache
cache,
ft2-cache_subsystem.html#FTC_CMapDesc
FTC_CMapDesc
cmap_desc,
FT_UInt32
char_code
);
Translates a character code into a glyph index, using the charmap cache.
input
cache
A charmap cache handle.
cmap_desc
A charmap descriptor handle.
char_code
The character code (in the corresponding charmap).
return
Glyph index. 0 means "no glyph".
note
This function doesn't return
ft2-cache_subsystem.html#FTC_Node
FTC_Node
handles, since there is no real use for them with typical uses of charmaps.
FTC_Manager_Compress
FT_EXPORT(
void
)
FTC_Manager_Compress
(
ft2-cache_subsystem.html#FTC_Manager
FTC_Manager
manager );
/* try to flush `count' old nodes from the cache; return the number
* of really flushed nodes
*/
FT_EXPORT(
ft2-basic_types.html#FT_UInt
FT_UInt
)
FTC_Manager_FlushN(
ft2-cache_subsystem.html#FTC_Manager
FTC_Manager
manager,
ft2-basic_types.html#FT_UInt
FT_UInt
count );
/* this must be used
internally
for the moment */
FT_EXPORT(
ft2-basic_types.html#FT_Error
FT_Error
)
FTC_Manager_RegisterCache(
ft2-cache_subsystem.html#FTC_Manager
FTC_Manager
manager,
FTC_CacheClass   clazz,
FTC_Cache       *acache );
This function is used to check the state of the cache manager if its `num_bytes' field is greater than its `max_bytes' field. It will flush as many old cache nodes as possible (ignoring cache nodes with a non-zero reference count).
inout
manager
A handle to the cache manager.
note
Client applications should not call this function directly. It is normally invoked by specific cache implementations.
The reason this function is exported is to allow client-specific cache classes.
