ftcmru.h File Reference

#include <ft2build.h>

Go to the source code of this file.

Classes

struct  FTC_MruNodeRec_
struct  FTC_MruListClassRec_
struct  FTC_MruListRec_

Defines

#define xxFT_DEBUG_ERROR
#define FTC_INLINE
#define FTC_MRULIST_LOOKUP_CMP(list, key, compare, node, error)
#define FTC_MRULIST_LOOKUP(list, key, node, error)   FTC_MRULIST_LOOKUP_CMP( list, key, (list)->clazz.node_compare, node, error )
#define FTC_MRULIST_LOOP(list, node)
#define FTC_MRULIST_LOOP_END()

Typedefs

typedef typedefFT_BEGIN_HEADER
struct FTC_MruNodeRec_
FTC_MruNode
typedef FTC_MruNodeRec_ FTC_MruNodeRec
typedef FTC_MruListRec_FTC_MruList
typedef FTC_MruListClassRec_
const * 
FTC_MruListClass
typedef FT_Bool(*) FTC_MruNode_CompareFunc (FTC_MruNode node, FT_Pointer key)
typedef FT_Error(*) FTC_MruNode_InitFunc (FTC_MruNode node, FT_Pointer key, FT_Pointer data)
typedef FT_Error(*) FTC_MruNode_ResetFunc (FTC_MruNode node, FT_Pointer key, FT_Pointer data)
typedef void(*) FTC_MruNode_DoneFunc (FTC_MruNode node, FT_Pointer data)
typedef FTC_MruListClassRec_ FTC_MruListClassRec
typedef FTC_MruListRec_ FTC_MruListRec

Functions

 FTC_MruNode_Prepend (FTC_MruNode *plist, FTC_MruNode node)
 FTC_MruNode_Up (FTC_MruNode *plist, FTC_MruNode node)
 FTC_MruNode_Remove (FTC_MruNode *plist, FTC_MruNode node)
 FTC_MruList_Init (FTC_MruList list, FTC_MruListClass clazz, FT_UInt max_nodes, FT_Pointer data, FT_Memory memory)
 FTC_MruList_Reset (FTC_MruList list)
 FTC_MruList_Done (FTC_MruList list)
 FTC_MruList_New (FTC_MruList list, FT_Pointer key, FTC_MruNode *anode)
 FTC_MruList_Remove (FTC_MruList list, FTC_MruNode node)
 FTC_MruList_RemoveSelection (FTC_MruList list, FTC_MruNode_CompareFunc selection, FT_Pointer key)


Define Documentation

#define FTC_INLINE

Definition at line 57 of file ftcmru.h.

#define FTC_MRULIST_LOOKUP ( list,
key,
node,
error   )     FTC_MRULIST_LOOKUP_CMP( list, key, (list)->clazz.node_compare, node, error )

Definition at line 196 of file ftcmru.h.

#define FTC_MRULIST_LOOKUP_CMP ( list,
key,
compare,
node,
error   ) 

Definition at line 162 of file ftcmru.h.

Referenced by FTC_Manager_LookupFace(), and FTC_Manager_LookupSize().

#define FTC_MRULIST_LOOP ( list,
node   ) 

Value:

FT_BEGIN_STMNT                              \
    FTC_MruNode  _first = (list)->nodes;      \
                                              \
                                              \
    if ( _first )                             \
    {                                         \
      FTC_MruNode  _node = _first;            \
                                              \
                                              \
      do                                      \
      {                                       \
        *(FTC_MruNode*)&(node) = _node;

Definition at line 216 of file ftcmru.h.

 
#define FTC_MRULIST_LOOP_END (  ) 

Value:

_node = _node->next;                 \
                                             \
      } while ( _node != _first );           \
    }                                        \
  FT_END_STMNT

Definition at line 231 of file ftcmru.h.

#define xxFT_DEBUG_ERROR

Definition at line 56 of file ftcmru.h.


Typedef Documentation

typedef struct FTC_MruListRec_* FTC_MruList

Definition at line 84 of file ftcmru.h.

typedef struct FTC_MruListClassRec_ const* FTC_MruListClass

Definition at line 86 of file ftcmru.h.

typedef struct FTC_MruListClassRec_ FTC_MruListClassRec

typedef struct FTC_MruListRec_ FTC_MruListRec

typedef typedefFT_BEGIN_HEADER struct FTC_MruNodeRec_* FTC_MruNode

Definition at line 61 of file ftcmru.h.

typedef FT_Bool(*) FTC_MruNode_CompareFunc(FTC_MruNode node, FT_Pointer key)

Definition at line 90 of file ftcmru.h.

typedef void(*) FTC_MruNode_DoneFunc(FTC_MruNode node, FT_Pointer data)

Definition at line 104 of file ftcmru.h.

typedef FT_Error(*) FTC_MruNode_InitFunc(FTC_MruNode node, FT_Pointer key, FT_Pointer data)

Definition at line 94 of file ftcmru.h.

typedef FT_Error(*) FTC_MruNode_ResetFunc(FTC_MruNode node, FT_Pointer key, FT_Pointer data)

Definition at line 99 of file ftcmru.h.

typedef struct FTC_MruNodeRec_ FTC_MruNodeRec


Function Documentation

FTC_MruList_Done ( FTC_MruList  list  ) 

Definition at line 195 of file ftcmru.c.

References FTC_MruList_Reset().

Referenced by ftc_gcache_done(), and FTC_Manager_Done().

FTC_MruList_Init ( FTC_MruList  list,
FTC_MruListClass  clazz,
FT_UInt  max_nodes,
FT_Pointer  data,
FT_Memory  memory 
)

Definition at line 169 of file ftcmru.c.

References NULL.

Referenced by ftc_gcache_init(), and FTC_Manager_New().

FTC_MruList_New ( FTC_MruList  list,
FT_Pointer  key,
FTC_MruNode anode 
)

Definition at line 236 of file ftcmru.c.

References error, FT_ALLOC, FT_ASSERT, FT_FREE, FTC_MruNode_Prepend(), FTC_MruNode_Remove(), and FTC_MruNode_Up().

FTC_MruList_Remove ( FTC_MruList  list,
FTC_MruNode  node 
)

Definition at line 308 of file ftcmru.c.

References FT_FREE, and FTC_MruNode_Remove().

Referenced by FTC_MruList_RemoveSelection(), and FTC_MruList_Reset().

FTC_MruList_RemoveSelection ( FTC_MruList  list,
FTC_MruNode_CompareFunc  selection,
FT_Pointer  key 
)

Definition at line 327 of file ftcmru.c.

References FTC_MruList_Remove(), and NULL.

Referenced by ftc_face_node_done(), and FTC_Manager_RemoveFaceID().

FTC_MruList_Reset ( FTC_MruList  list  ) 

Definition at line 185 of file ftcmru.c.

References FT_ASSERT, and FTC_MruList_Remove().

Referenced by FTC_Manager_Reset(), and FTC_MruList_Done().

FTC_MruNode_Prepend ( FTC_MruNode plist,
FTC_MruNode  node 
)

Definition at line 29 of file ftcmru.c.

References fprintf(), and FTC_MruNodeRec_::prev.

Referenced by FTC_MruList_New(), and ftc_node_mru_link().

FTC_MruNode_Remove ( FTC_MruNode plist,
FTC_MruNode  node 
)

Definition at line 122 of file ftcmru.c.

References fprintf(), FT_ASSERT, NULL, and Ok().

Referenced by FTC_MruList_New(), FTC_MruList_Remove(), and ftc_node_mru_unlink().

FTC_MruNode_Up ( FTC_MruNode plist,
FTC_MruNode  node 
)

Definition at line 73 of file ftcmru.c.

References fprintf(), FT_ASSERT, NULL, and Ok().

Referenced by FTC_MruList_New().


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