]> git.tdb.fi Git - libs/gl.git/blob - source/render/orderedscene.h
Check the flat qualifier from the correct member
[libs/gl.git] / source / render / orderedscene.h
1 #ifndef MSP_GL_ORDEREDSCENE_H_
2 #define MSP_GL_ORDEREDSCENE_H_
3
4 #include <vector>
5 #include "scene.h"
6
7 namespace Msp {
8 namespace GL {
9
10 /**
11 A scene which renders its contents in a specific order.
12 */
13 class OrderedScene: public Scene
14 {
15 public:
16         using Scene::Loader;
17
18 private:
19         std::vector<Renderable *> content;
20
21 public:
22         virtual void add(Renderable &);
23         virtual void remove(Renderable &);
24         void prepend(Renderable &);
25         void insert(unsigned, Renderable &);
26         void insert_after(Renderable &, Renderable &);
27
28         virtual void setup_frame(Renderer &);
29         virtual void finish_frame();
30
31         virtual void render(Renderer &, Tag = Tag()) const;
32 };
33
34 } // namespace GL
35 } // namespace Msp
36
37 #endif