Just added a missing header.
[supertux.git] / src / display_manager.cpp
1 #include "display_manager.h"
2
3 #include <algorithm>
4
5 DisplayManager::DisplayManager()
6 {
7 }
8
9 DisplayManager::~DisplayManager()
10 {
11 }
12
13 void
14 DisplayManager::add_drawable(Drawable* drawable, int layer)
15 {
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));
20   else
21     displaylist.insert(i, DrawingQueueEntry(drawable, layer));
22 }
23
24 void
25 DisplayManager::remove_drawable(Drawable* drawable)
26 {
27   for(DisplayList::iterator i = displaylist.begin();
28       i != displaylist.end(); ) {
29     if(i->object == drawable)
30       i = displaylist.erase(i);
31     else
32       ++i;
33   }
34 }
35
36 void
37 DisplayManager::draw()
38 {
39   for(DisplayList::iterator i = displaylist.begin(); i != displaylist.end();
40       ++i)
41     i->object->draw(viewport, i->layer);
42 }
43