48 #include FT_FREETYPE_H 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 132 FTC_MruListClass clazz,
148 FTC_MruNode *anode );
162 #define FTC_MRULIST_LOOKUP_CMP( list, key, compare, node, error ) \ 164 FTC_MruNode* _pfirst = &(list)->nodes; \ 165 FTC_MruNode_CompareFunc _compare = (FTC_MruNode_CompareFunc)(compare); \ 166 FTC_MruNode _first, _node; \ 170 _first = *(_pfirst); \ 178 if ( _compare( _node, (key) ) ) \ 180 if ( _node != _first ) \ 181 FTC_MruNode_Up( _pfirst, _node ); \ 186 _node = _node->next; \ 188 } while ( _node != _first) ; \ 191 error = FTC_MruList_New( (list), (key), (FTC_MruNode*)(void*)&(node) ); \ 196 #define FTC_MRULIST_LOOKUP( list, key, node, error ) \ 197 FTC_MRULIST_LOOKUP_CMP( list, key, (list)->clazz.node_compare, node, error ) 202 FTC_MruList_Find( FTC_MruList list,
206 FTC_MruList_Lookup( FTC_MruList list,
208 FTC_MruNode *pnode );
210 #define FTC_MRULIST_LOOKUP( list, key, node, error ) \ 211 error = FTC_MruList_Lookup( (list), (key), (FTC_MruNode*)&(node) ) 216 #define FTC_MRULIST_LOOP( list, node ) \ 218 FTC_MruNode _first = (list)->nodes; \ 223 FTC_MruNode _node = _first; \ 228 *(FTC_MruNode*)&(node) = _node; 231 #define FTC_MRULIST_LOOP_END() \ 232 _node = _node->next; \ 234 } while ( _node != _first ); \
FTC_MruNode_Prepend(FTC_MruNode *plist, FTC_MruNode node)
FT_Error(* FTC_MruNode_ResetFunc)(FTC_MruNode node, FT_Pointer key, FT_Pointer data)
FTC_MruList_Done(FTC_MruList list)
struct FTC_MruListRec_ FTC_MruListRec
FT_Bool(* FTC_MruNode_CompareFunc)(FTC_MruNode node, FT_Pointer key)
FTC_MruList_Remove(FTC_MruList list, FTC_MruNode node)
typedefFT_BEGIN_HEADER struct FTC_MruNodeRec_ * FTC_MruNode
typedef void(APIENTRY *GLDEBUGPROCARB)(GLenum source
FTC_MruListClassRec clazz
FT_BEGIN_HEADER typedef unsigned char FT_Bool
FTC_MruNode_CompareFunc node_compare
FTC_MruNode_ResetFunc node_reset
FTC_MruList_New(FTC_MruList list, FT_Pointer key, FTC_MruNode *anode)
FTC_MruNode_Up(FTC_MruNode *plist, FTC_MruNode node)
GLsizei GLsizei GLenum GLenum const GLvoid * data
FTC_MruNode_DoneFunc node_done
FTC_MruNode_InitFunc node_init
struct FTC_MruListClassRec_ FTC_MruListClassRec
FTC_MruList_Init(FTC_MruList list, FTC_MruListClass clazz, FT_UInt max_nodes, FT_Pointer data, FT_Memory memory)
typedefFT_BEGIN_HEADER struct FT_MemoryRec_ * FT_Memory
FT_Error(* FTC_MruNode_InitFunc)(FTC_MruNode node, FT_Pointer key, FT_Pointer data)
void(* FTC_MruNode_DoneFunc)(FTC_MruNode node, FT_Pointer data)
FTC_MruNode_Remove(FTC_MruNode *plist, FTC_MruNode node)
struct FTC_MruNodeRec_ FTC_MruNodeRec
FTC_MruList_RemoveSelection(FTC_MruList list, FTC_MruNode_CompareFunc selection, FT_Pointer key)
struct FTC_MruListRec_ * FTC_MruList
struct FTC_MruListClassRec_ const * FTC_MruListClass
FTC_MruList_Reset(FTC_MruList list)