]> git.tdb.fi Git - libs/gl.git/blobdiff - source/effects/effect.h
Check the flat qualifier from the correct member
[libs/gl.git] / source / effects / effect.h
index ac458361700cf669052ea69039017451f2497e8f..a77cdb5abae46023305c605b1dd7966203c07126 100644 (file)
@@ -34,17 +34,22 @@ public:
                        Loader(Template &, Collection &);
                protected:
                        virtual void init_actions();
+
+               private:
+                       void enable_for_method(const std::string &);
                };
 
                std::string content_name;
+               std::vector<Tag> enabled_methods;
 
                virtual ~Template() = default;
 
                virtual Effect *create(const std::map<std::string, Renderable *> &) const = 0;
+               void create_base(Effect &) const;
        };
 
 protected:
-       Renderable &renderable;
+       Renderable &content;
        std::vector<Tag> enabled_methods;
 
 protected:
@@ -56,11 +61,11 @@ public:
        void disable_for_method(Tag);
        bool is_enabled_for_method(Tag) const;
 
-       virtual const Matrix *get_matrix() const { return renderable.get_matrix(); }
-       virtual const Geometry::BoundingSphere<float, 3> *get_bounding_sphere() const { return renderable.get_bounding_sphere(); }
+       virtual const Matrix *get_matrix() const { return content.get_matrix(); }
+       virtual const Geometry::BoundingSphere<float, 3> *get_bounding_sphere() const { return content.get_bounding_sphere(); }
 
-       virtual void setup_frame(Renderer &r) { renderable.setup_frame(r); }
-       virtual void finish_frame() { renderable.finish_frame(); }
+       virtual void setup_frame(Renderer &r) { content.setup_frame(r); }
+       virtual void finish_frame() { content.finish_frame(); }
 
        virtual void set_debug_name(const std::string &) = 0;
 };