X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ffadeoverlay.h;h=a0b365b6c698c3a4477c1bb5162635fd1e7418be;hb=462cb9fc40ae7fec26615c652e95991be89ea8ae;hp=65a9af2bfcc4e3710fa371a45d7ddfad52fe491c;hpb=35332818fc6bad98fe77831de2c51a11326e31aa;p=libs%2Fdemoscene.git diff --git a/source/fadeoverlay.h b/source/fadeoverlay.h index 65a9af2..a0b365b 100644 --- a/source/fadeoverlay.h +++ b/source/fadeoverlay.h @@ -9,19 +9,36 @@ #include "colorfade.h" #include "sequencer.h" +namespace Msp { +namespace DemoScene { + class FadeOverlay: public Msp::GL::PostProcessor { public: class Fade: public ColorFadeAction { + public: + class Loader: public Msp::DataFile::DerivedObjectLoader + { + public: + Loader(Fade &, Demo &); + + private: + void overlay(const std::string &); + void color(float, float, float, float); + }; + private: - FadeOverlay &overlay; + FadeOverlay *overlay; public: + Fade(); Fade(FadeOverlay &, const Msp::GL::Color &); - virtual const Msp::GL::Color &get_color() const { return overlay.color; } - virtual void set_color(const Msp::GL::Color &c) { overlay.set_color(c); } + virtual void validate() const; + + virtual const Msp::GL::Color &get_color() const { return overlay->color; } + virtual void set_color(const Msp::GL::Color &c) { overlay->set_color(c); } }; private: @@ -33,10 +50,12 @@ private: public: FadeOverlay(Msp::DataFile::Collection &); - void set_content(Msp::GL::Renderable *); void set_color(const Msp::GL::Color &); virtual void render(Msp::GL::Renderer &, const Msp::GL::Texture2D &, const Msp::GL::Texture2D &); }; +} // namespace DemoScene +} // namespace Msp + #endif