X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Fsrc%2Fsynfig%2Flayer_pastecanvas.cpp;h=1eea2e9f1b7de0870b028db935feed5d43931fa8;hb=6612ced05a48e176c5bc9e291152b5d8ae4fbf38;hp=3fafb8ed6076071b6e76ebb666f86b79e594b368;hpb=adfc80c126f482d7ea2bac38001a2c4a7c7df88c;p=synfig.git diff --git a/synfig-core/src/synfig/layer_pastecanvas.cpp b/synfig-core/src/synfig/layer_pastecanvas.cpp index 3fafb8e..1eea2e9 100644 --- a/synfig-core/src/synfig/layer_pastecanvas.cpp +++ b/synfig-core/src/synfig/layer_pastecanvas.cpp @@ -87,7 +87,13 @@ Layer_PasteCanvas::Layer_PasteCanvas(): depth(0), zoom(0), time_offset(0), - extra_reference(false) + extra_reference(false), + origin_static(false), + focus_static(false), + canvas_static(false), + zoom_static(false), + offset_static(false), + children_lock_static(true) { children_lock=false; muck_with_time_=true; @@ -178,9 +184,9 @@ Layer_PasteCanvas::set_param(const String & param, const ValueBase &value) if(param=="canvas" && value.same_type_as(Canvas::Handle())) { set_sub_canvas(value.get(Canvas::Handle())); + set_param_static(param, value.get_static()); return true; } - //! \todo this introduces bug 1844764 if enabled; it was introduced in r954. // http://synfig.org/images/3/3d/Moving-waypoints.sifz is an // example of an animation that has its waypoints displayed @@ -274,13 +280,10 @@ Layer_PasteCanvas::update_renddesc() void Layer_PasteCanvas::on_canvas_set() { - //synfig::info("before count()=%d",count()); if(get_canvas() && canvas && canvas->is_inline() && canvas->parent()!=get_canvas()) { - //synfig::info("during count()=%d",count()); canvas->set_inline(get_canvas()); } - //synfig::info("after count()=%d",count()); } ValueBase @@ -385,7 +388,7 @@ Layer_PasteCanvas::accelerated_render(Context context,Surface *surface,int quali else if (!context.accelerated_render(surface,quality,renddesc,&stageone)) return false; - if(muck_with_time_ && curr_time!=Time::begin() && canvas->get_time()!=curr_time+time_offset) + if(muck_with_time_ && curr_time!=Time::begin() /*&& canvas->get_time()!=curr_time+time_offset*/) canvas->set_time(curr_time+time_offset); Color::BlendMethod blend_method(get_blend_method()); @@ -568,3 +571,31 @@ void Layer_PasteCanvas::get_times_vfunc(Node::time_set &set) const Layer::get_times_vfunc(set); } + + +bool +Layer_PasteCanvas::set_param_static(const String ¶m, const bool x) +{ + SET_STATIC(origin, x) + SET_STATIC(focus, x) + SET_STATIC(canvas, x) + SET_STATIC(zoom, x) + SET_STATIC(time_offset, x) + SET_STATIC(children_lock, x) + + return Layer_Composite::set_param_static(param, x); +} + + +bool +Layer_PasteCanvas::get_param_static(const String ¶m) const +{ + GET_STATIC(origin) + GET_STATIC(focus) + GET_STATIC(canvas) + GET_STATIC(zoom) + GET_STATIC(time_offset) + GET_STATIC(children_lock) + + return Layer_Composite::get_param_static(param); +}