1 #include "display_manager.h"
5 DisplayManager::DisplayManager()
9 DisplayManager::~DisplayManager()
14 DisplayManager::add_drawable(Drawable* drawable, int layer)
16 DisplayList::iterator i
17 = std::lower_bound(displaylist.begin(), displaylist.end(), layer);
18 if(i == displaylist.end())
19 displaylist.push_back(DrawingQueueEntry(drawable, layer));
21 displaylist.insert(i, DrawingQueueEntry(drawable, layer));
25 DisplayManager::remove_drawable(Drawable* drawable)
27 for(DisplayList::iterator i = displaylist.begin();
28 i != displaylist.end(); ) {
29 if(i->object == drawable)
30 i = displaylist.erase(i);
37 DisplayManager::draw()
39 for(DisplayList::iterator i = displaylist.begin(); i != displaylist.end();
41 i->object->draw(viewport, i->layer);