#include "drawable_list.h" bool figure_compare(drawable *const& d1,drawable *const& d2) { if (d1->get_depth() == d2->get_depth()) { return d1->get_order() < d2->get_order(); } return d1->get_depth() > d2->get_depth(); } drawable_list::drawable_list():L(figure_compare) { } void drawable_list::insert(drawable* d) { L.insert_after(L.last(),d); } void drawable_list::sort() { L.sort(); } list_iterator drawable_list::first() { return L.first(); } drawable_list::~drawable_list() { list_iterator I = L.first(); while(I.has_more_elements()) { delete I++; } }