Visualization Library 2.0.0-b5

A lightweight C++ OpenGL middleware for 2D/3D graphics

VL     Star     Watch     Fork     Issue

[Download] [Tutorials] [All Classes] [Grouped Classes]
Classes | Macros | Typedefs | Functions
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_
 

Macros

#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 struct FTC_GNodeRec_ FTC_GNodeRec
 
typedef struct FTC_GNodeRec_FTC_GNode
 
typedef struct FTC_GQueryRec_ FTC_GQueryRec
 
typedef struct FTC_GQueryRec_FTC_GQuery
 
typedef struct FTC_GCacheRec_ FTC_GCacheRec
 
typedef struct FTC_GCacheRec_FTC_GCache
 
typedef struct 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_Cache cache, FT_Bool *list_changed)
 
 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)
 

Macro Definition Documentation

◆ FTC_CACHE__FAMILY_CLASS

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

Definition at line 250 of file ftcglyph.h.

◆ FTC_CACHE__GCACHE_CLASS

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

Definition at line 248 of file ftcglyph.h.

Referenced by FTC_Family_Init().

◆ FTC_FAMILY

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

Definition at line 144 of file ftcglyph.h.

Referenced by ftc_basic_family_init().

◆ FTC_FAMILY_FREE

#define FTC_FAMILY_FREE (   family,
  cache 
)
Value:
FTC_MruList_Remove( &FTC_GCACHE((cache))->families, \
(FTC_MruNode)(family) )
typedefFT_BEGIN_HEADER struct FTC_MruNodeRec_ * FTC_MruNode
Definition: ftcmru.h:61
FTC_MruList_Remove(FTC_MruList list, FTC_MruNode node)
Definition: ftcmru.c:308
#define FTC_GCACHE(x)
Definition: ftcglyph.h:219

Definition at line 273 of file ftcglyph.h.

Referenced by FTC_GCache_New(), and FTC_GNode_UnselectFamily().

◆ FTC_FAMILY_P

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

Definition at line 145 of file ftcglyph.h.

◆ FTC_GCACHE

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

Definition at line 219 of file ftcglyph.h.

Referenced by FTC_ImageCache_Lookup(), and FTC_SBitCache_Lookup().

◆ FTC_GCACHE_CLASS

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

Definition at line 246 of file ftcglyph.h.

◆ FTC_GCACHE_LOOKUP_CMP

#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
FT_Bool(* FTC_MruNode_CompareFunc)(FTC_MruNode node, FT_Pointer key)
Definition: ftcmru.h:90
#define FTC_FAMILY(x)
Definition: ftcglyph.h:144
#define FTC_MRULIST_LOOKUP_CMP(list, key, compare, node, error)
Definition: ftcmru.h:162
FT_Error error
Definition: cffdrivr.c:411
if(!abbox) return FT_THROW(Invalid_Argument)
#define FTC_CACHE_LOOKUP_CMP(cache, nodecmp, hash, query, node, error)
Definition: ftccache.h:216
struct FTC_GQueryRec_ * FTC_GQuery
GLenum query
#define FTC_GCACHE(x)
Definition: ftcglyph.h:219

Definition at line 280 of file ftcglyph.h.

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

◆ FTC_GNODE

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

◆ FTC_GNODE_P

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

Definition at line 157 of file ftcglyph.h.

◆ FTC_GQUERY

#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

◆ FTC_Family

◆ FTC_FamilyRec

◆ FTC_GCache

typedef struct FTC_GCacheRec_ * FTC_GCache

◆ FTC_GCacheClass

Definition at line 244 of file ftcglyph.h.

◆ FTC_GCacheClassRec

◆ FTC_GCacheRec

typedef struct FTC_GCacheRec_ FTC_GCacheRec

◆ FTC_GNode

typedef struct FTC_GNodeRec_ * FTC_GNode

◆ FTC_GNodeRec

typedef struct FTC_GNodeRec_ FTC_GNodeRec

◆ FTC_GQuery

typedef struct FTC_GQueryRec_ * FTC_GQuery

◆ FTC_GQueryRec

typedef struct FTC_GQueryRec_ FTC_GQueryRec

Function Documentation

◆ FTC_Family_Init()

FTC_Family_Init ( FTC_Family  family,
FTC_Cache  cache 
)

◆ FTC_GCache_New()

FTC_GCache_New ( FTC_Manager  manager,
FTC_GCacheClass  clazz,
FTC_GCache acache 
)

◆ FTC_GNode_Compare()

FTC_GNode_Compare ( FTC_GNode  gnode,
FTC_GQuery  gquery,
FTC_Cache  cache,
FT_Bool list_changed 
)

Definition at line 86 of file ftcglyph.c.

References FT_LOCAL_DEF, ftc_gnode_compare(), and FTC_NODE.

Referenced by FTC_ImageCache_Lookup(), and FTC_ImageCache_LookupScaler().

◆ FTC_GNode_Done()

FTC_GNode_Done ( FTC_GNode  node,
FTC_Cache  cache 
)

Definition at line 55 of file ftcglyph.c.

References FT_Bool, FT_LOCAL_DEF, and FTC_GNode_UnselectFamily().

Referenced by ftc_inode_free(), and ftc_snode_free().

◆ FTC_GNode_Init()

FTC_GNode_Init ( FTC_GNode  node,
FT_UInt  gindex,
FTC_Family  family 
)

Definition at line 31 of file ftcglyph.c.

References FT_LOCAL_DEF.

Referenced by FTC_INode_New(), and FTC_SNode_New().

◆ FTC_GNode_UnselectFamily()

FTC_GNode_UnselectFamily ( FTC_GNode  gnode,
FTC_Cache  cache 
)

Definition at line 42 of file ftcglyph.c.

References FT_LOCAL_DEF, FTC_FAMILY_FREE, and NULL.

Referenced by ftc_basic_gnode_compare_faceid(), and FTC_GNode_Done().