X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Fsrc%2Fsynfig%2Flayer.cpp;h=ae25ab49f5dcda0d77b76f4f0f66ff68a2e567eb;hb=42e8f249832b9ca81691bbf76a6668aa4612117f;hp=17984ba10a34e1f18561f22f84c42255d907dda4;hpb=95e671c091f35812d7c83559c595ebfd3ce45cb4;p=synfig.git diff --git a/synfig-core/src/synfig/layer.cpp b/synfig-core/src/synfig/layer.cpp index 17984ba..ae25ab4 100644 --- a/synfig-core/src/synfig/layer.cpp +++ b/synfig-core/src/synfig/layer.cpp @@ -136,10 +136,12 @@ Layer::subsys_stop() Layer::Layer(): active_(true), z_depth(0.0f), - dirty_time_(Time::end()), - z_depth_static(false) + dirty_time_(Time::end())//, + //z_depth_static(false) { _LayerCounter::counter++; + Vocab vocab=get_param_vocab(); + fill_static(vocab); } Layer::LooseHandle @@ -300,17 +302,34 @@ Layer::set_param(const String ¶m, const ValueBase &value) bool Layer::set_param_static(const String ¶m, const bool x) { - SET_STATIC(z_depth,x) - + Sparams::iterator iter=static_params.find(param); + if(iter!=static_params.end()) + { + iter->second=x; + return true; + } return false; } +void Layer::fill_static(Vocab vocab) +{ + Vocab::const_iterator viter; + for(viter=vocab.begin();viter!=vocab.end();viter++) + { + if(static_params.find(viter->get_name())==static_params.end()) + static_params.insert(make_pair(viter->get_name(),false)); + } +} + + bool Layer::get_param_static(const String ¶m) const { - GET_STATIC(z_depth); + Sparams::const_iterator iter=static_params.find(param); + if(iter!=static_params.end()) + return iter->second; return false; } @@ -466,7 +485,7 @@ Layer::get_param(const String & param)const if(param=="z_depth") { synfig::ValueBase ret(get_z_depth()); - ret.set_static(z_depth_static); + ret.set_static(get_param_static(param)); return ret; } return ValueBase(); @@ -565,6 +584,7 @@ Layer::get_param_vocab()const ret.push_back(ParamDesc(z_depth,"z_depth") .set_local_name(_("Z Depth")) .set_animation_only(true) + .set_description(_("Modifies the position of the layer in the layer stack")) ); return ret;