X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Fbuilders%2Fsequencebuilder.h;fp=source%2Fbuilders%2Fsequencebuilder.h;h=739cc5edf4fd076e532aef5a4795caf06d0f50f5;hb=dff7004fa078d55911664c0f513b5dc6c9449420;hp=0000000000000000000000000000000000000000;hpb=bed45cf18a592f4dc3d899a48610eaea056f69f3;p=libs%2Fgl.git diff --git a/source/builders/sequencebuilder.h b/source/builders/sequencebuilder.h new file mode 100644 index 00000000..739cc5ed --- /dev/null +++ b/source/builders/sequencebuilder.h @@ -0,0 +1,39 @@ +#ifndef SEQUENCEBUILDER_H_ +#define SEQUENCEBUILDER_H_ + +#include +#include + +namespace Msp { +namespace GL { + +class Framebuffer; +class Sequence; +class SequenceTemplate; +class PostProcessor; +class Renderable; +class View; + +class SequenceBuilder +{ +private: + const SequenceTemplate &tmpl; + std::map renderables; + std::map postprocessors; + +public: + SequenceBuilder(const SequenceTemplate &); + + void set_renderable(const std::string &, Renderable &); + void set_postprocessor(const std::string &, PostProcessor &); + + void build(Sequence &) const; + Sequence *build(unsigned, unsigned) const; + Sequence *build(const View &) const; + Sequence *build(const Framebuffer &) const; +}; + +} // namespace GL +} // namespace Msp + +#endif