Add one extra parameter to Value Description (Scale) to allow distinguish tangent...
[synfig.git] / synfig-studio / src / synfigapp / value_desc.h
index 99b4604..621788c 100644 (file)
@@ -59,6 +59,9 @@ class ValueDesc
        // Info for exported ValueNode
        synfig::Canvas::Handle canvas;
 
+       // Info for visual editon
+       synfig::Real scalar;
+
 public:
        bool operator==(const ValueDesc &rhs)const
        {
@@ -70,7 +73,9 @@ public:
                        return true;
                if((canvas||rhs.canvas) && canvas!=rhs.canvas)
                        return false;
-               if((parent_value_node||rhs.parent_value_node) && parent_value_node!=rhs.parent_value_node)
+               if((parent_value_node||rhs.parent_value_node) && (parent_value_node!=rhs.parent_value_node))
+                       return false;
+               if(scalar!=rhs.scalar)
                        return false;
                if(index!=rhs.index)
                        return false;
@@ -90,9 +95,10 @@ public:
                layer(layer),
                name(param_name) { }
 
-       ValueDesc(synfig::LinkableValueNode::Handle parent_value_node,int index):
+       ValueDesc(synfig::LinkableValueNode::Handle parent_value_node,int index, synfig::Real s=1.12):
                parent_value_node(parent_value_node),
-               index(index) { }
+               index(index),
+               scalar(s) { }
 
 //     ValueDesc(synfig::LinkableValueNode::Handle parent_value_node,const synfig::String& param_name):
 //             parent_value_node(parent_value_node),
@@ -131,6 +137,7 @@ public:
 
        synfig::ValueNode::Handle get_parent_value_node()const { assert(parent_is_value_node()); return parent_value_node; }
        int get_index()const { assert(parent_is_linkable_value_node()); return index; }
+       synfig::Real get_scalar()const { assert(parent_is_linkable_value_node()); return scalar; }
        synfig::String get_name()const { assert(parent_is_linkable_value_node()); return (synfig::LinkableValueNode::Handle::cast_reinterpret(parent_value_node))->link_name(index); }
        synfig::Time get_waypoint_time()const { assert(parent_is_waypoint()); return waypoint_time; }
 
@@ -194,6 +201,7 @@ public:
 
        synfig::String
        get_description(bool show_exported_name = true)const;
+
 }; // END of class ValueDesc
 
 }; // END of namespace synfigapp_instance