]> git.tdb.fi Git - libs/gl.git/blobdiff - source/animation.h
Keep track of which components have been set in Transform
[libs/gl.git] / source / animation.h
index 7b86eca9b162a56cd38e29ae1c17f05a326bce3b..011c8558ca52f32659247c263b7cdb17f46359c5 100644 (file)
@@ -28,6 +28,7 @@ public:
                Time::TimeDelta current_time;
                float start_slope;
                float end_slope;
+               int slopes_set;
 
        public:
                Loader(Animation &);
@@ -36,6 +37,8 @@ public:
                void init();
                virtual void finish();
 
+               void check_slopes_and_control(bool, bool);
+               void add_kf(const KeyFrame *, bool, bool);
                void load_kf(const std::string &, bool);
                void load_kf_inline(bool);
 
@@ -164,10 +167,11 @@ public:
        const std::string &get_uniform_name(unsigned) const;
 
        void add_keyframe(const Time::TimeDelta &, const KeyFrame &);
-       void add_keyframe(const Time::TimeDelta &, const KeyFrame &, float);
-       void add_keyframe(const Time::TimeDelta &, const KeyFrame &, float, float);
+       DEPRECATED void add_keyframe(const Time::TimeDelta &, const KeyFrame &, float);
+       DEPRECATED void add_keyframe(const Time::TimeDelta &, const KeyFrame &, float, float);
        void add_control_keyframe(const KeyFrame &);
 private:
+       void add_keyframe(const Time::TimeDelta &, const KeyFrame *, float, float, bool);
        void add_keyframe(const Time::TimeDelta &, const KeyFrame *, bool, bool);
        void prepare_keyframe(TimedKeyFrame &);
        void create_curves();
@@ -182,6 +186,7 @@ public:
        const Msp::Time::TimeDelta &get_duration() const;
 
        void set_looping(bool);
+       bool is_looping() const { return looping; }
 };
 
 } // namespace GL