zenilib  0.5.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ftcmanag.c File Reference
#include <ft2build.h>
#include <FT_CACHE_H>
#include "ftcmanag.h"
#include <FT_INTERNAL_OBJECTS_H>
#include <FT_INTERNAL_DEBUG_H>
#include <FT_SIZES_H>
#include "ftccback.h"
#include "ftcerror.h"

Go to the source code of this file.

Macros

#define FT_COMPONENT   trace_cache
 
#define FTC_FACE_NODE(x)   ( ( FTC_FaceNode )( x ) )
 
#define FTC_LRU_GET_MANAGER(lru)   ( (FTC_Manager)(lru)->user_data )
 
#define FTC_SIZE_NODE(x)   ( (FTC_SizeNode)( x ) )
 

Typedefs

typedef struct FTC_FaceNodeRec_ * FTC_FaceNode
 
typedef struct FTC_FaceNodeRec_ FTC_FaceNodeRec
 
typedef struct FTC_SizeNodeRec_ * FTC_SizeNode
 
typedef struct FTC_SizeNodeRec_ FTC_SizeNodeRec
 

Functions

 ftc_face_node_compare (FTC_MruNode ftcnode, FT_Pointer ftcface_id)
 
 ftc_face_node_done (FTC_MruNode ftcnode, FT_Pointer ftcmanager)
 
 ftc_face_node_init (FTC_MruNode ftcnode, FT_Pointer ftcface_id, FT_Pointer ftcmanager)
 
 FTC_Manager_Compress (FTC_Manager manager)
 
 FTC_Manager_Done (FTC_Manager manager)
 
 FTC_Manager_FlushN (FTC_Manager manager, FT_UInt count)
 
 FTC_Manager_LookupFace (FTC_Manager manager, FTC_FaceID face_id, FT_Face *aface)
 
 FTC_Manager_LookupSize (FTC_Manager manager, FTC_Scaler scaler, FT_Size *asize)
 
 FTC_Manager_New (FT_Library library, FT_UInt max_faces, FT_UInt max_sizes, FT_ULong max_bytes, FTC_Face_Requester requester, FT_Pointer req_data, FTC_Manager *amanager)
 
 FTC_Manager_RegisterCache (FTC_Manager manager, FTC_CacheClass clazz, FTC_Cache *acache)
 
 FTC_Manager_RemoveFaceID (FTC_Manager manager, FTC_FaceID face_id)
 
 FTC_Manager_Reset (FTC_Manager manager)
 
 FTC_Node_Unref (FTC_Node node, FTC_Manager manager)
 
static FT_Error ftc_scaler_lookup_size (FTC_Manager manager, FTC_Scaler scaler, FT_Size *asize)
 
 ftc_size_node_compare (FTC_MruNode ftcnode, FT_Pointer ftcscaler)
 
static FT_Bool ftc_size_node_compare_faceid (FTC_MruNode ftcnode, FT_Pointer ftcface_id)
 
 ftc_size_node_done (FTC_MruNode ftcnode, FT_Pointer data)
 
 ftc_size_node_init (FTC_MruNode ftcnode, FT_Pointer ftcscaler, FT_Pointer ftcmanager)
 
 ftc_size_node_reset (FTC_MruNode ftcnode, FT_Pointer ftcscaler, FT_Pointer ftcmanager)
 

Variables

FT_CALLBACK_TABLE_DEF const
FTC_MruListClassRec 
ftc_face_list_class
 
FT_CALLBACK_TABLE_DEF const
FTC_MruListClassRec 
ftc_size_list_class
 

Macro Definition Documentation

#define FT_COMPONENT   trace_cache

Definition at line 35 of file ftcmanag.c.

#define FTC_FACE_NODE (   x)    ( ( FTC_FaceNode )( x ) )

Definition at line 229 of file ftcmanag.c.

Referenced by FTC_Manager_LookupFace().

#define FTC_LRU_GET_MANAGER (   lru)    ( (FTC_Manager)(lru)->user_data )

Definition at line 37 of file ftcmanag.c.

#define FTC_SIZE_NODE (   x)    ( (FTC_SizeNode)( x ) )

Definition at line 85 of file ftcmanag.c.

Referenced by FTC_Manager_LookupSize().

Typedef Documentation

typedef struct FTC_FaceNodeRec_ * FTC_FaceNode
typedef struct FTC_FaceNodeRec_ FTC_FaceNodeRec
typedef struct FTC_SizeNodeRec_ * FTC_SizeNode
typedef struct FTC_SizeNodeRec_ FTC_SizeNodeRec

Function Documentation

ftc_face_node_compare ( FTC_MruNode  ftcnode,
FT_Pointer  ftcface_id 
)

Definition at line 282 of file ftcmanag.c.

References FT_BOOL, and FTC_FaceID.

Referenced by FTC_Manager_LookupFace(), and FTC_Manager_RemoveFaceID().

ftc_face_node_done ( FTC_MruNode  ftcnode,
FT_Pointer  ftcmanager 
)
ftc_face_node_init ( FTC_MruNode  ftcnode,
FT_Pointer  ftcface_id,
FT_Pointer  ftcmanager 
)
FTC_Manager_Compress ( FTC_Manager  manager)

Definition at line 532 of file ftcmanag.c.

References FT_TRACE0, FTC_NODE__PREV, ftc_node_destroy(), NULL, and FTC_NodeRec_::ref_count.

Referenced by ftc_cache_add().

FTC_Manager_Done ( FTC_Manager  manager)
FTC_Manager_FlushN ( FTC_Manager  manager,
FT_UInt  count 
)

Definition at line 626 of file ftcmanag.c.

References FTC_NODE__PREV, ftc_node_destroy(), NULL, and FTC_NodeRec_::ref_count.

FTC_Manager_LookupFace ( FTC_Manager  manager,
FTC_FaceID  face_id,
FT_Face aface 
)
FTC_Manager_LookupSize ( FTC_Manager  manager,
FTC_Scaler  scaler,
FT_Size asize 
)
FTC_Manager_RemoveFaceID ( FTC_Manager  manager,
FTC_FaceID  face_id 
)
FTC_Manager_Reset ( FTC_Manager  manager)

Definition at line 452 of file ftcmanag.c.

References FTC_MruList_Reset().

FTC_Node_Unref ( FTC_Node  node,
FTC_Manager  manager 
)

Definition at line 684 of file ftcmanag.c.

ftc_size_node_compare ( FTC_MruNode  ftcnode,
FT_Pointer  ftcscaler 
)

Definition at line 103 of file ftcmanag.c.

References FT_Activate_Size(), and FTC_SCALER_COMPARE.

Referenced by FTC_Manager_LookupSize().

static FT_Bool ftc_size_node_compare_faceid ( FTC_MruNode  ftcnode,
FT_Pointer  ftcface_id 
)
static

Definition at line 167 of file ftcmanag.c.

References FT_BOOL, and FTC_FaceID.

Referenced by ftc_face_node_done().

ftc_size_node_done ( FTC_MruNode  ftcnode,
FT_Pointer  data 
)

Definition at line 89 of file ftcmanag.c.

References FT_Done_Size(), and FT_UNUSED.

ftc_size_node_init ( FTC_MruNode  ftcnode,
FT_Pointer  ftcscaler,
FT_Pointer  ftcmanager 
)

Definition at line 121 of file ftcmanag.c.

References ftc_scaler_lookup_size().

ftc_size_node_reset ( FTC_MruNode  ftcnode,
FT_Pointer  ftcscaler,
FT_Pointer  ftcmanager 
)

Definition at line 137 of file ftcmanag.c.

References FT_Done_Size(), and ftc_scaler_lookup_size().

Variable Documentation

Initial value:
=
{
sizeof ( FTC_FaceNodeRec),
0,
}
ftc_face_node_compare(FTC_MruNode ftcnode, FT_Pointer ftcface_id)
Definition: ftcmanag.c:282
ftc_face_node_init(FTC_MruNode ftcnode, FT_Pointer ftcface_id, FT_Pointer ftcmanager)
Definition: ftcmanag.c:233
ftc_face_node_done(FTC_MruNode ftcnode, FT_Pointer ftcmanager)
Definition: ftcmanag.c:261
struct FTC_FaceNodeRec_ FTC_FaceNodeRec

Definition at line 294 of file ftcmanag.c.

Initial value:
=
{
sizeof ( FTC_SizeNodeRec ),
}
ftc_size_node_reset(FTC_MruNode ftcnode, FT_Pointer ftcscaler, FT_Pointer ftcmanager)
Definition: ftcmanag.c:137
struct FTC_SizeNodeRec_ FTC_SizeNodeRec
ftc_size_node_done(FTC_MruNode ftcnode, FT_Pointer data)
Definition: ftcmanag.c:89
ftc_size_node_compare(FTC_MruNode ftcnode, FT_Pointer ftcscaler)
Definition: ftcmanag.c:103
ftc_size_node_init(FTC_MruNode ftcnode, FT_Pointer ftcscaler, FT_Pointer ftcmanager)
Definition: ftcmanag.c:121

Definition at line 155 of file ftcmanag.c.