00001
00021
00022
00023
00024
00025 #ifndef __SYNFIG_APP_ACTION_KEYFRAMESET_H
00026 #define __SYNFIG_APP_ACTION_KEYFRAMESET_H
00027
00028
00029
00030 #include <synfigapp/action.h>
00031 #include <synfig/keyframe.h>
00032 #include <synfig/time.h>
00033 #include <synfig/guid.h>
00034 #include <set>
00035
00036
00037
00038
00039
00040
00041
00042 namespace synfigapp {
00043
00044 class Instance;
00045
00046 namespace Action {
00047
00048 class KeyframeSet :
00049 public Super
00050 {
00051 private:
00052
00053 synfig::Keyframe keyframe;
00054 synfig::Keyframe old_keyframe;
00055 synfig::Time old_time;
00056 synfig::Time new_time;
00057
00058 synfig::Time keyframe_prev,keyframe_next;
00059
00060 std::set<synfig::GUID> guid_set;
00061
00062 void process_value_desc(const synfigapp::ValueDesc& value_desc);
00063
00064 int scale_activepoints(const synfigapp::ValueDesc& value_desc,const synfig::Time& old_begin,const synfig::Time& old_end,const synfig::Time& new_begin,const synfig::Time& new_end);
00065 int scale_waypoints(const synfigapp::ValueDesc& value_desc,const synfig::Time& old_begin,const synfig::Time& old_end,const synfig::Time& new_begin,const synfig::Time& new_end);
00066
00067 public:
00068
00069 KeyframeSet();
00070
00071 static ParamVocab get_param_vocab();
00072 static bool is_candidate(const ParamList &x);
00073
00074 virtual bool set_param(const synfig::String& name, const Param &);
00075 virtual bool is_ready()const;
00076
00077 virtual void prepare();
00078 virtual void perform();
00079 virtual void undo();
00080
00081 ACTION_MODULE_EXT
00082 };
00083
00084 };
00085 };
00086
00087
00088
00089 #endif