]> git.tdb.fi Git - libs/gl.git/blobdiff - source/materials/technique.h
Use C++11 features with containers
[libs/gl.git] / source / materials / technique.h
index 762b98f4f9afe1d977e4c663397617c6d6d2205f..74c37fc8e2ca0e03c24fdd4f691a60f96abeb640 100644 (file)
@@ -18,12 +18,21 @@ class Technique
 public:
        class Loader: public Msp::DataFile::CollectionObjectLoader<Technique>
        {
+       private:
+               std::string inline_base_name;
+
+               static ActionMap shared_actions;
+
        public:
                Loader(Technique &);
                Loader(Technique &, Collection &);
+       private:
+               virtual void init_actions();
+
+       public:
+               void set_inline_base_name(const std::string &);
 
        private:
-               void init();
                void inherit(const std::string &);
                void pass(const std::string &);
        };
@@ -40,22 +49,20 @@ private:
                void uniforms();
        };
 
-public:
-       typedef std::map<Tag, RenderPass> PassMap;
-
-private:
-       PassMap passes;
+       std::map<Tag, RenderPass> passes;
 
 public:
-       RenderPass &add_pass(const Tag &);
-       bool has_pass(const Tag &) const;
-       const RenderPass &get_pass(const Tag &) const;
-       const RenderPass *find_pass(const Tag &) const;
-       const PassMap &get_passes() const { return passes; }
+       RenderPass &add_pass(Tag);
+       bool has_pass(Tag) const;
+       const RenderPass &get_pass(Tag) const;
+       const RenderPass *find_pass(Tag) const;
+       const std::map<Tag, RenderPass> &get_passes() const { return passes; }
        bool replace_texture(const std::string &, const Texture &);
        bool replace_material(const std::string &, const Material &);
        bool replace_uniforms(const ProgramData &);
-       bool has_shaders() const;
+       DEPRECATED bool has_shaders() const;
+
+       void set_debug_name(const std::string &);
 };
 
 } // namespace GL