X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fanimation.h;h=e3fb79ee3aff2bdcf019e79c03628066aed605c2;hp=c190bdbfd1cb11048020ad7ba06a44fff81d1a24;hb=42c1534d95e1551c37e64a1dae288e8b75e8d8ba;hpb=19555043d70f972feedb89786fc24a2b83b4f7e9 diff --git a/source/animation.h b/source/animation.h index c190bdbf..e3fb79ee 100644 --- a/source/animation.h +++ b/source/animation.h @@ -25,6 +25,8 @@ public: { private: Time::TimeDelta current_time; + float start_slope; + float end_slope; public: Loader(Animation &); @@ -38,9 +40,10 @@ public: void event2f(const std::string &, float, float); void event3f(const std::string &, float, float, float); void event4f(const std::string &, float, float, float, float); + void interval(float); void keyframe(const std::string &); void keyframe_inline(); - void interval(float); + void slopes(float, float); }; private: @@ -70,6 +73,8 @@ private: const TimedKeyFrame *prev; Time::TimeDelta time; Time::TimeDelta delta_t; + float start_slope; + float end_slope; RefPtr keyframe; MatrixInterpolation matrix; std::vector uniforms; @@ -102,6 +107,7 @@ public: std::vector::const_iterator iter; std::vector::const_iterator event_iter; Time::TimeDelta time_since_keyframe; + float x; bool end; public: @@ -135,8 +141,10 @@ 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); private: - void add_keyframe(const Time::TimeDelta &, const RefPtr &); + void add_keyframe(const Time::TimeDelta &, const RefPtr &, float, float); void prepare_keyframe(TimedKeyFrame &); public: void add_event(const Time::TimeDelta &, const std::string &, const Variant & = Variant());