//========================================================================== // // // //========================================================================== void GLDrawList::MakeSortList() { SortNode * p, * n, * c; unsigned i; SortNodeStart=SortNodes.Size(); p=NULL; n=SortNodes.GetNew(); for(i=0;i<drawitems.Size();i++) { n->itemindex=(int)i; n->left=n->equal=n->right=NULL; n->parent=p; p=n; if (i!=drawitems.Size()-1) { c=SortNodes.GetNew(); n->next=c; n=c; } else { n->next=NULL; } } }