#ifndef FTCMRU_H_
#define FTCMRU_H_
#include <freetype/freetype.h>
#include <freetype/internal/compiler-macros.h>
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
#error "Please fix the directory search order for header files"
#error "so that freetype.h of FreeType 2 is found first."
#endif
#define xxFT_DEBUG_ERROR
#define FTC_INLINE
FT_BEGIN_HEADER
FTC_MruNode;
FTC_MruNodeRec;
FT_LOCAL( void )
FTC_MruNode_Prepend( FTC_MruNode *plist,
FTC_MruNode node );
FT_LOCAL( void )
FTC_MruNode_Up( FTC_MruNode *plist,
FTC_MruNode node );
FT_LOCAL( void )
FTC_MruNode_Remove( FTC_MruNode *plist,
FTC_MruNode node );
FTC_MruList;
FTC_MruListClass;
FTC_MruNode_CompareFunc;
FTC_MruNode_InitFunc;
FTC_MruNode_ResetFunc;
FTC_MruNode_DoneFunc;
FTC_MruListClassRec;
FTC_MruListRec;
FT_LOCAL( void )
FTC_MruList_Init( FTC_MruList list,
FTC_MruListClass clazz,
FT_UInt max_nodes,
FT_Pointer data,
FT_Memory memory );
FT_LOCAL( void )
FTC_MruList_Reset( FTC_MruList list );
FT_LOCAL( void )
FTC_MruList_Done( FTC_MruList list );
FT_LOCAL( FT_Error )
FTC_MruList_New( FTC_MruList list,
FT_Pointer key,
FTC_MruNode *anode );
FT_LOCAL( void )
FTC_MruList_Remove( FTC_MruList list,
FTC_MruNode node );
FT_LOCAL( void )
FTC_MruList_RemoveSelection( FTC_MruList list,
FTC_MruNode_CompareFunc selection,
FT_Pointer key );
#ifdef FTC_INLINE
#define FTC_MRULIST_LOOKUP_CMP( list, key, compare, node, error ) …
#define FTC_MRULIST_LOOKUP( list, key, node, error ) …
#else
FT_LOCAL( FTC_MruNode )
FTC_MruList_Find( FTC_MruList list,
FT_Pointer key );
FT_LOCAL( FT_Error )
FTC_MruList_Lookup( FTC_MruList list,
FT_Pointer key,
FTC_MruNode *pnode );
#define FTC_MRULIST_LOOKUP …
#endif
#define FTC_MRULIST_LOOP( list, node ) …
#define FTC_MRULIST_LOOP_END() …
FT_END_HEADER
#endif