ftcmanag.c File Reference

#include <ft2build.h>
#include "ftcmanag.h"
#include "ftccback.h"
#include "ftcerror.h"

Go to the source code of this file.

Classes

struct  FTC_SizeNodeRec_
struct  FTC_FaceNodeRec_

Defines

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

Typedefs

typedef FTC_SizeNodeRec_ FTC_SizeNodeRec
typedef FTC_SizeNodeRec_FTC_SizeNode
typedef FTC_FaceNodeRec_ FTC_FaceNodeRec
typedef FTC_FaceNodeRec_FTC_FaceNode

Functions

static FT_Error ftc_scaler_lookup_size (FTC_Manager manager, FTC_Scaler scaler, FT_Size *asize)
 ftc_size_node_done (FTC_MruNode ftcnode, FT_Pointer data)
 ftc_size_node_compare (FTC_MruNode ftcnode, FT_Pointer ftcscaler)
 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)
static FT_Bool ftc_size_node_compare_faceid (FTC_MruNode ftcnode, FT_Pointer ftcface_id)
 FTC_Manager_LookupSize (FTC_Manager manager, FTC_Scaler scaler, FT_Size *asize)
 ftc_face_node_init (FTC_MruNode ftcnode, FT_Pointer ftcface_id, FT_Pointer ftcmanager)
 ftc_face_node_done (FTC_MruNode ftcnode, FT_Pointer ftcmanager)
 ftc_face_node_compare (FTC_MruNode ftcnode, FT_Pointer ftcface_id)
 FTC_Manager_LookupFace (FTC_Manager manager, FTC_FaceID face_id, FT_Face *aface)
 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_Done (FTC_Manager manager)
 FTC_Manager_Reset (FTC_Manager manager)
 FTC_Manager_Compress (FTC_Manager manager)
 FTC_Manager_RegisterCache (FTC_Manager manager, FTC_CacheClass clazz, FTC_Cache *acache)
 FTC_Manager_FlushN (FTC_Manager manager, FT_UInt count)
 FTC_Manager_RemoveFaceID (FTC_Manager manager, FTC_FaceID face_id)
 FTC_Node_Unref (FTC_Node node, FTC_Manager manager)

Variables

FT_CALLBACK_TABLE_DEF const
FTC_MruListClassRec 
ftc_size_list_class
FT_CALLBACK_TABLE_DEF const
FTC_MruListClassRec 
ftc_face_list_class


Define 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 FTC_FaceNodeRec_::face_id, FT_BOOL, and FTC_FaceID.

Referenced by FTC_Manager_LookupFace().

ftc_face_node_done ( FTC_MruNode  ftcnode,
FT_Pointer  ftcmanager 
)

Definition at line 261 of file ftcmanag.c.

References FTC_FaceNodeRec_::face, FTC_FaceNodeRec_::face_id, FT_Done_Face(), FTC_MruList_RemoveSelection(), ftc_size_node_compare_faceid(), NULL, and FTC_ManagerRec_::sizes.

ftc_face_node_init ( FTC_MruNode  ftcnode,
FT_Pointer  ftcface_id,
FT_Pointer  ftcmanager 
)

Definition at line 233 of file ftcmanag.c.

References error, FTC_FaceNodeRec_::face, FTC_FaceNodeRec_::face_id, FT_Done_Size(), FTC_FaceID, FTC_ManagerRec_::library, FTC_ManagerRec_::request_data, FTC_ManagerRec_::request_face, and FT_FaceRec_::size.

FTC_Manager_Compress ( FTC_Manager  manager  ) 

Definition at line 532 of file ftcmanag.c.

References FT_TRACE0, FTC_NODE__PREV, ftc_node_destroy(), and NULL.

Referenced by ftc_cache_add().

FTC_Manager_Done ( FTC_Manager  manager  ) 

Definition at line 412 of file ftcmanag.c.

References FTC_CacheClassRec_::cache_done, FTC_CacheRec_::clazz, FT_FREE, FTC_MruList_Done(), and NULL.

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, FTC_NodeRec_::ref_count, and result().

FTC_Manager_LookupFace ( FTC_Manager  manager,
FTC_FaceID  face_id,
FT_Face aface 
)

Definition at line 308 of file ftcmanag.c.

References error, FTC_FACE_NODE, ftc_face_node_compare(), FTC_MRULIST_LOOKUP_CMP, and NULL.

Referenced by ftc_basic_family_get_count(), FTC_CMapCache_Lookup(), and ftc_scaler_lookup_size().

FTC_Manager_LookupSize ( FTC_Manager  manager,
FTC_Scaler  scaler,
FT_Size asize 
)

Definition at line 181 of file ftcmanag.c.

References error, FTC_MRULIST_LOOKUP_CMP, FTC_SIZE_NODE, ftc_size_node_compare(), and NULL.

Referenced by ftc_basic_family_load_bitmap(), and ftc_basic_family_load_glyph().

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 
)

Definition at line 353 of file ftcmanag.c.

References error, FTC_ManagerRec_::faces, FT_NEW, ftc_face_list_class, FTC_MAX_BYTES_DEFAULT, FTC_MAX_FACES_DEFAULT, FTC_MAX_SIZES_DEFAULT, FTC_MruList_Init(), ftc_size_list_class, FTC_ManagerRec_::library, FTC_ManagerRec_::max_weight, FTC_ManagerRec_::memory, FTC_ManagerRec_::request_data, FTC_ManagerRec_::request_face, and FTC_ManagerRec_::sizes.

FTC_Manager_RegisterCache ( FTC_Manager  manager,
FTC_CacheClass  clazz,
FTC_Cache acache 
)

Definition at line 574 of file ftcmanag.c.

References error, FT_ALLOC, FT_ERROR, FT_FREE, FTC_MAX_CACHES, and NULL.

Referenced by FTC_CMapCache_New(), and FTC_GCache_New().

FTC_Manager_RemoveFaceID ( FTC_Manager  manager,
FTC_FaceID  face_id 
)

Definition at line 664 of file ftcmanag.c.

References FTC_Cache_RemoveFaceID(), FTC_MruList_RemoveSelection(), and NULL.

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.

static FT_Error ftc_scaler_lookup_size ( FTC_Manager  manager,
FTC_Scaler  scaler,
FT_Size asize 
) [static]

Definition at line 41 of file ftcmanag.c.

References error, FTC_ScalerRec_::face_id, FT_Activate_Size(), FT_Done_Size(), FT_New_Size(), FT_Set_Char_Size(), FT_Set_Pixel_Sizes(), FTC_Manager_LookupFace(), FTC_ScalerRec_::height, NULL, FTC_ScalerRec_::pixel, size, FTC_ScalerRec_::width, FTC_ScalerRec_::x_res, and FTC_ScalerRec_::y_res.

Referenced by ftc_size_node_init(), and ftc_size_node_reset().

ftc_size_node_compare ( FTC_MruNode  ftcnode,
FT_Pointer  ftcscaler 
)

Definition at line 103 of file ftcmanag.c.

References FT_Activate_Size(), FTC_SCALER_COMPARE, FTC_SizeNodeRec_::scaler, and FTC_SizeNodeRec_::size.

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 FTC_ScalerRec_::face_id, FT_BOOL, FTC_FaceID, and FTC_SizeNodeRec_::scaler.

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(), FT_UNUSED, size, and FTC_SizeNodeRec_::size.

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_SizeNodeRec_::scaler, and FTC_SizeNodeRec_::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(), ftc_scaler_lookup_size(), FTC_SizeNodeRec_::scaler, and FTC_SizeNodeRec_::size.


Variable Documentation

FT_CALLBACK_TABLE_DEF const FTC_MruListClassRec ftc_face_list_class

Initial value:

Definition at line 294 of file ftcmanag.c.

Referenced by FTC_Manager_New().

FT_CALLBACK_TABLE_DEF const FTC_MruListClassRec ftc_size_list_class

Initial value:

Definition at line 155 of file ftcmanag.c.

Referenced by FTC_Manager_New().


Generated on Tue Jul 5 15:58:23 2011 for ROOT_528-00b_version by  doxygen 1.5.1