Remove under score from the z_depth parameter to allow use the macros properly
[synfig.git] / synfig-core / src / synfig / layer.cpp
index 9d1adf3..17984ba 100644 (file)
@@ -135,8 +135,9 @@ Layer::subsys_stop()
 
 Layer::Layer():
        active_(true),
-       z_depth_(0.0f),
-       dirty_time_(Time::end())
+       z_depth(0.0f),
+       dirty_time_(Time::end()),
+       z_depth_static(false)
 {
        _LayerCounter::counter++;
 }
@@ -292,14 +293,28 @@ Layer::on_changed()
 bool
 Layer::set_param(const String &param, const ValueBase &value)
 {
-       if(param=="z_depth" && value.same_type_as(z_depth_))
-       {
-               z_depth_=value.get(z_depth_);
-               return true;
-       }
+       IMPORT(z_depth)
+       return false;
+}
+
+bool
+Layer::set_param_static(const String &param, const bool x)
+{
+       SET_STATIC(z_depth,x)
+
+       return false;
+}
+
+
+bool
+Layer::get_param_static(const String &param) const
+{
+       GET_STATIC(z_depth);
+
        return false;
 }
 
+
 etl::handle<Transform>
 Layer::get_transform()const
 {
@@ -310,7 +325,7 @@ float
 Layer::get_z_depth(const synfig::Time& t)const
 {
        if(!dynamic_param_list().count("z_depth"))
-               return z_depth_;
+               return z_depth;
        return (*dynamic_param_list().find("z_depth")->second)(t).get(Real());
 }
 
@@ -449,8 +464,11 @@ ValueBase
 Layer::get_param(const String & param)const
 {
        if(param=="z_depth")
-               return get_z_depth();
-
+       {
+               synfig::ValueBase ret(get_z_depth());
+               ret.set_static(z_depth_static);
+               return ret;
+       }
        return ValueBase();
 }
 
@@ -544,7 +562,7 @@ Layer::get_param_vocab()const
 {
        Layer::Vocab ret;
 
-       ret.push_back(ParamDesc(z_depth_,"z_depth")
+       ret.push_back(ParamDesc(z_depth,"z_depth")
                .set_local_name(_("Z Depth"))
                .set_animation_only(true)
        );