00001
00021
00022
00023
00024
00025 #ifndef __SYNFIG_APP_ACTION_LAYERENCAPSULATE_H
00026 #define __SYNFIG_APP_ACTION_LAYERENCAPSULATE_H
00027
00028
00029
00030 #include <synfig/layer.h>
00031 #include <synfigapp/action.h>
00032 #include <list>
00033 #include <synfig/canvas.h>
00034
00035
00036
00037
00038
00039
00040
00041 namespace synfigapp {
00042
00043 namespace Action {
00044
00045 class LayerEncapsulate :
00046 public Super
00047 {
00048 private:
00049 synfig::Canvas::Handle child_canvas;
00050 std::list<synfig::Layer::Handle> layers;
00051
00052 int lowest_depth()const;
00053
00054 public:
00055
00056 LayerEncapsulate();
00057
00058 static ParamVocab get_param_vocab();
00059 static bool is_candidate(const ParamList &x);
00060
00061 virtual bool set_param(const synfig::String& name, const Param &);
00062 virtual bool is_ready()const;
00063
00064 virtual void prepare();
00065
00066 ACTION_MODULE_EXT
00067 };
00068
00069 };
00070 };
00071
00072
00073
00074 #endif