51#error "freetype.h of FreeType 1 has been loaded!"
52#error "Please fix the directory search order for header files"
53#error "so that freetype.h of FreeType 2 is found first."
56#define xxFT_DEBUG_ERROR
164#define FTC_MRULIST_LOOKUP_CMP( list, key, compare, node, error ) \
166 FTC_MruNode* _pfirst = &(list)->nodes; \
167 FTC_MruNode_CompareFunc _compare = (FTC_MruNode_CompareFunc)(compare); \
168 FTC_MruNode _first, _node; \
172 _first = *(_pfirst); \
180 if ( _compare( _node, (key) ) ) \
182 if ( _node != _first ) \
183 FTC_MruNode_Up( _pfirst, _node ); \
188 _node = _node->next; \
190 } while ( _node != _first); \
193 error = FTC_MruList_New( (list), (key), (FTC_MruNode*)(void*)&(node) ); \
198#define FTC_MRULIST_LOOKUP( list, key, node, error ) \
199 FTC_MRULIST_LOOKUP_CMP( list, key, (list)->clazz.node_compare, node, error )
212#define FTC_MRULIST_LOOKUP( list, key, node, error ) \
213 error = FTC_MruList_Lookup( (list), (key), (FTC_MruNode*)&(node) )
218#define FTC_MRULIST_LOOP( list, node ) \
220 FTC_MruNode _first = (list)->nodes; \
225 FTC_MruNode _node = _first; \
230 *(FTC_MruNode*)&(node) = _node;
233#define FTC_MRULIST_LOOP_END() \
234 _node = _node->next; \
236 } while ( _node != _first ); \
FTC_MruList_New(FTC_MruList list, FT_Pointer key, FTC_MruNode *anode)
FT_Error(* FTC_MruNode_InitFunc)(FTC_MruNode node, FT_Pointer key, FT_Pointer data)
struct FTC_MruListClassRec_ const * FTC_MruListClass
FT_Bool(* FTC_MruNode_CompareFunc)(FTC_MruNode node, FT_Pointer key)
void(* FTC_MruNode_DoneFunc)(FTC_MruNode node, FT_Pointer data)
struct FTC_MruNodeRec_ FTC_MruNodeRec
FTC_MruList_Remove(FTC_MruList list, FTC_MruNode node)
struct FTC_MruListClassRec_ FTC_MruListClassRec
FT_Error(* FTC_MruNode_ResetFunc)(FTC_MruNode node, FT_Pointer key, FT_Pointer data)
FTC_MruNode_Up(FTC_MruNode *plist, FTC_MruNode node)
FTC_MruList_Reset(FTC_MruList list)
FTC_MruNode_Prepend(FTC_MruNode *plist, FTC_MruNode node)
struct FTC_MruListRec_ FTC_MruListRec
FTC_MruNode_Remove(FTC_MruNode *plist, FTC_MruNode node)
struct FTC_MruListRec_ * FTC_MruList
FTC_MruList_Done(FTC_MruList list)
typedefFT_BEGIN_HEADER struct FTC_MruNodeRec_ * FTC_MruNode
FTC_MruList_Init(FTC_MruList list, FTC_MruListClass clazz, FT_UInt max_nodes, FT_Pointer data, FT_Memory memory)
FTC_MruList_RemoveSelection(FTC_MruList list, FTC_MruNode_CompareFunc selection, FT_Pointer key)
typedefFT_BEGIN_HEADER struct FT_MemoryRec_ * FT_Memory
FT_BEGIN_HEADER typedef unsigned char FT_Bool
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
static char memory[1024 *256]
FTC_MruNode_InitFunc node_init
FTC_MruNode_DoneFunc node_done
FTC_MruNode_ResetFunc node_reset
FTC_MruNode_CompareFunc node_compare
FTC_MruListClassRec clazz