]> git.tdb.fi Git - libs/demoscene.git/blobdiff - source/fadeoverlay.h
Make some simple actions loadable
[libs/demoscene.git] / source / fadeoverlay.h
index 988a0e12ab46f3e4ae9acdf0fd0ca33dcdbae669..e25d16848ebe054fa166f244ed81b2480f9ea226 100644 (file)
@@ -14,16 +14,28 @@ class FadeOverlay: public Msp::GL::PostProcessor
 public:
        class Fade: public ColorFadeAction
        {
+       public:
+               class Loader: public Msp::DataFile::DerivedObjectLoader<Fade, Action::Loader>
+               {
+               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 void validate() const { }
+               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); }
+               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: