ftcglyph.h File Reference

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

Go to the source code of this file.

Classes

struct  FTC_FamilyRec_
struct  FTC_GNodeRec_
struct  FTC_GQueryRec_
struct  FTC_GCacheRec_
struct  FTC_GCacheClassRec_

Defines

#define FTC_FAMILY(x)   ( (FTC_Family)(x) )
#define FTC_FAMILY_P(x)   ( (FTC_Family*)(x) )
#define FTC_GNODE(x)   ( (FTC_GNode)(x) )
#define FTC_GNODE_P(x)   ( (FTC_GNode*)(x) )
#define FTC_GQUERY(x)   ( (FTC_GQuery)(x) )
#define FTC_GCACHE(x)   ((FTC_GCache)(x))
#define FTC_GCACHE_CLASS(x)   ((FTC_GCacheClass)(x))
#define FTC_CACHE__GCACHE_CLASS(x)   FTC_GCACHE_CLASS( FTC_CACHE(x)->org_class )
#define FTC_CACHE__FAMILY_CLASS(x)   ( (FTC_MruListClass)FTC_CACHE__GCACHE_CLASS( x )->family_class )
#define FTC_FAMILY_FREE(family, cache)
#define FTC_GCACHE_LOOKUP_CMP(cache, famcmp, nodecmp, hash,gindex, query, node, error)

Typedefs

typedef FT_BEGIN_HEADER struct
FTC_FamilyRec_ 
FTC_FamilyRec
typedef FT_BEGIN_HEADER struct
FTC_FamilyRec_
FTC_Family
typedef FTC_GNodeRec_ FTC_GNodeRec
typedef FTC_GNodeRec_FTC_GNode
typedef FTC_GQueryRec_ FTC_GQueryRec
typedef FTC_GQueryRec_FTC_GQuery
typedef FTC_GCacheRec_ FTC_GCacheRec
typedef FTC_GCacheRec_FTC_GCache
typedef FTC_GCacheClassRec_ FTC_GCacheClassRec
typedef const FTC_GCacheClassRecFTC_GCacheClass

Functions

 FTC_GNode_Init (FTC_GNode node, FT_UInt gindex, FTC_Family family)
 FTC_GNode_Compare (FTC_GNode gnode, FTC_GQuery gquery)
 FTC_GNode_UnselectFamily (FTC_GNode gnode, FTC_Cache cache)
 FTC_GNode_Done (FTC_GNode node, FTC_Cache cache)
 FTC_Family_Init (FTC_Family family, FTC_Cache cache)
 FTC_GCache_New (FTC_Manager manager, FTC_GCacheClass clazz, FTC_GCache *acache)


Define Documentation

#define FTC_CACHE__FAMILY_CLASS ( x   )     ( (FTC_MruListClass)FTC_CACHE__GCACHE_CLASS( x )->family_class )

Definition at line 244 of file ftcglyph.h.

#define FTC_CACHE__GCACHE_CLASS ( x   )     FTC_GCACHE_CLASS( FTC_CACHE(x)->org_class )

Definition at line 242 of file ftcglyph.h.

Referenced by FTC_Family_Init().

#define FTC_FAMILY ( x   )     ( (FTC_Family)(x) )

Definition at line 144 of file ftcglyph.h.

Referenced by ftc_basic_family_init().

#define FTC_FAMILY_FREE ( family,
cache   ) 

Value:

FTC_MruList_Remove( &FTC_GCACHE((cache))->families, \
                              (FTC_MruNode)(family) )

Definition at line 267 of file ftcglyph.h.

Referenced by FTC_GNode_UnselectFamily().

#define FTC_FAMILY_P ( x   )     ( (FTC_Family*)(x) )

Definition at line 145 of file ftcglyph.h.

#define FTC_GCACHE ( x   )     ((FTC_GCache)(x))

Definition at line 213 of file ftcglyph.h.

Referenced by FTC_ImageCache_Lookup(), and FTC_SBitCache_Lookup().

#define FTC_GCACHE_CLASS ( x   )     ((FTC_GCacheClass)(x))

Definition at line 240 of file ftcglyph.h.

#define FTC_GCACHE_LOOKUP_CMP ( cache,
famcmp,
nodecmp,
hash,
gindex,
query,
node,
error   ) 

Value:

FT_BEGIN_STMNT                                                            \
    FTC_GCache               _gcache   = FTC_GCACHE( cache );               \
    FTC_GQuery               _gquery   = (FTC_GQuery)( query );             \
    FTC_MruNode_CompareFunc  _fcompare = (FTC_MruNode_CompareFunc)(famcmp); \
    FTC_MruNode              _mrunode;                                      \
                                                                            \
                                                                            \
    _gquery->gindex = (gindex);                                             \
                                                                            \
    FTC_MRULIST_LOOKUP_CMP( &_gcache->families, _gquery, _fcompare,         \
                            _mrunode, error );                              \
    _gquery->family = FTC_FAMILY( _mrunode );                               \
    if ( !error )                                                           \
    {                                                                       \
      FTC_Family  _gqfamily = _gquery->family;                              \
                                                                            \
                                                                            \
      _gqfamily->num_nodes++;                                               \
                                                                            \
      FTC_CACHE_LOOKUP_CMP( cache, nodecmp, hash, query, node, error );     \
                                                                            \
      if ( --_gqfamily->num_nodes == 0 )                                    \
        FTC_FAMILY_FREE( _gqfamily, _gcache );                              \
    }                                                                       \
  FT_END_STMNT

Definition at line 275 of file ftcglyph.h.

Referenced by FTC_ImageCache_Lookup(), FTC_ImageCache_LookupScaler(), FTC_SBitCache_Lookup(), and FTC_SBitCache_LookupScaler().

#define FTC_GNODE ( x   )     ( (FTC_GNode)(x) )

Definition at line 156 of file ftcglyph.h.

Referenced by ftc_inode_free(), FTC_INode_New(), FTC_SBitCache_Lookup(), FTC_SBitCache_LookupScaler(), ftc_snode_compare(), ftc_snode_free(), ftc_snode_load(), and FTC_SNode_New().

#define FTC_GNODE_P ( x   )     ( (FTC_GNode*)(x) )

Definition at line 157 of file ftcglyph.h.

#define FTC_GQUERY ( x   )     ( (FTC_GQuery)(x) )

Definition at line 167 of file ftcglyph.h.

Referenced by FTC_ImageCache_Lookup(), and FTC_SBitCache_Lookup().


Typedef Documentation

typedef FT_BEGIN_HEADER struct FTC_FamilyRec_ * FTC_Family

typedef FT_BEGIN_HEADER struct FTC_FamilyRec_ FTC_FamilyRec

typedef struct FTC_GCacheRec_ * FTC_GCache

typedef const FTC_GCacheClassRec* FTC_GCacheClass

Definition at line 238 of file ftcglyph.h.

typedef struct FTC_GCacheClassRec_ FTC_GCacheClassRec

typedef struct FTC_GCacheRec_ FTC_GCacheRec

typedef struct FTC_GNodeRec_ * FTC_GNode

typedef struct FTC_GNodeRec_ FTC_GNodeRec

typedef struct FTC_GQueryRec_ * FTC_GQuery

typedef struct FTC_GQueryRec_ FTC_GQueryRec


Function Documentation

FTC_Family_Init ( FTC_Family  family,
FTC_Cache  cache 
)

Definition at line 96 of file ftcglyph.c.

References FTC_GCacheClassRec_::family_class, and FTC_CACHE__GCACHE_CLASS.

Referenced by ftc_basic_family_init().

FTC_GCache_New ( FTC_Manager  manager,
FTC_GCacheClass  clazz,
FTC_GCache acache 
)

Definition at line 165 of file ftcglyph.c.

References FTC_Manager_RegisterCache().

Referenced by FTC_ImageCache_New(), and FTC_SBitCache_New().

FTC_GNode_Compare ( FTC_GNode  gnode,
FTC_GQuery  gquery 
)

Definition at line 80 of file ftcglyph.c.

References ftc_gnode_compare(), FTC_NODE, and NULL.

Referenced by FTC_ImageCache_Lookup(), and FTC_ImageCache_LookupScaler().

FTC_GNode_Done ( FTC_GNode  node,
FTC_Cache  cache 
)

Definition at line 54 of file ftcglyph.c.

References FTC_GNode_UnselectFamily().

Referenced by ftc_inode_free(), and ftc_snode_free().

FTC_GNode_Init ( FTC_GNode  node,
FT_UInt  gindex,
FTC_Family  family 
)

Definition at line 30 of file ftcglyph.c.

Referenced by FTC_INode_New(), and FTC_SNode_New().

FTC_GNode_UnselectFamily ( FTC_GNode  gnode,
FTC_Cache  cache 
)

Definition at line 41 of file ftcglyph.c.

References FTC_FAMILY_FREE, and NULL.

Referenced by ftc_basic_gnode_compare_faceid(), and FTC_GNode_Done().


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