]> git.tdb.fi Git - libs/gl.git/blob - source/builders/sequencebuilder.h
Add debug name capability to more classes
[libs/gl.git] / source / builders / sequencebuilder.h
1 #ifndef SEQUENCEBUILDER_H_
2 #define SEQUENCEBUILDER_H_
3
4 #include <map>
5 #include <string>
6
7 namespace Msp {
8 namespace GL {
9
10 class Framebuffer;
11 class Sequence;
12 class SequenceTemplate;
13 class PostProcessor;
14 class Renderable;
15 class View;
16
17 class SequenceBuilder
18 {
19 private:
20         const SequenceTemplate &tmpl;
21         std::map<std::string, Renderable *> renderables;
22         std::map<std::string, PostProcessor *> postprocessors;
23         std::string debug_name;
24
25 public:
26         SequenceBuilder(const SequenceTemplate &);
27
28         void set_renderable(const std::string &, Renderable &);
29         void set_postprocessor(const std::string &, PostProcessor &);
30
31         void set_debug_name(const std::string &);
32
33         void build(Sequence &) const;
34         Sequence *build(unsigned, unsigned) const;
35         Sequence *build(const View &) const;
36         Sequence *build(const Framebuffer &) const;
37 };
38
39 } // namespace GL
40 } // namespace Msp
41
42 #endif