1 #ifndef __DISPLAY_MANAGER_H__
2 #define __DISPLAY_MANAGER_H__
9 // some constants for predefined layer values
11 LAYER_BACKGROUND0 = -300,
12 LAYER_BACKGROUND1 = -200,
13 LAYER_BACKGROUNDTILES = -100,
16 LAYER_FOREGROUNDTILES = 200,
17 LAYER_FOREGROUND0 = 300,
18 LAYER_FOREGROUND1 = 400
21 /** This class holds a list of all things that should be drawn to screen
29 /** adds an object to the list of stuff that should be drawn each frame.
30 * The layer argument specifies how early an object is drawn.
32 void add_drawable(Drawable* object, int layer);
34 void remove_drawable(Drawable* object);
38 ViewPort& get_viewport()
42 class DrawingQueueEntry {
44 DrawingQueueEntry(Drawable* newobject, int newlayer)
45 : object(newobject), layer(newlayer)
48 bool operator <(int olayer) const
50 return layer < olayer;
57 typedef std::vector<DrawingQueueEntry> DisplayList;
58 DisplayList displaylist;