Merge branch 'nikitakit_master'
[synfig.git] / synfig-studio / src / gui / duckmatic.cpp
index 7fe1f19..adf95f6 100644 (file)
@@ -475,17 +475,16 @@ Duckmatic::update_ducks()
                                        if ( (*iter)->get_origin_duck()==duck  /*&& !duck_is_selected(*iter)*/ )
                                        {
                                                synfig::Real radius = 0.0;
-                                               ValueNode_BLine::Handle bline(ValueNode_BLine::Handle::cast_dynamic(bline_vertex->get_link(bline_vertex->get_link_index_from_name("bline"))));
+                                               ValueNode_BLine::Handle bline(ValueNode_BLine::Handle::cast_dynamic(bline_vertex->get_link("bline")));
                                                Real amount = synfig::find_closest_point((*bline)(time), duck->get_point(), radius, bline->get_loop());
 
-                                               int vertex_amount_index(bline_vertex->get_link_index_from_name("amount"));
-                                               ValueNode::Handle vertex_amount_value_node(bline_vertex->get_link(vertex_amount_index));
+                                               ValueNode::Handle vertex_amount_value_node(bline_vertex->get_link("amount"));
 
 
                                                ValueNode::Handle duck_value_node((*iter)->get_value_desc().get_value_node());
                                                if (ValueNode_BLineCalcTangent::Handle bline_tangent = ValueNode_BLineCalcTangent::Handle::cast_dynamic(duck_value_node))
                                                {
-                                                       if (bline_tangent->get_link(bline_tangent->get_link_index_from_name("amount")) == vertex_amount_value_node)
+                                                       if (bline_tangent->get_link("amount") == vertex_amount_value_node)
                                                        {
                                                                switch (bline_tangent->get_type())
                                                                {
@@ -509,7 +508,7 @@ Duckmatic::update_ducks()
                                                }
                                                else if (ValueNode_BLineCalcWidth::Handle bline_width = ValueNode_BLineCalcWidth::Handle::cast_dynamic(duck_value_node))
                                                {
-                                                       if (bline_width->get_link(bline_width->get_link_index_from_name("amount")) == vertex_amount_value_node)
+                                                       if (bline_width->get_link("amount") == vertex_amount_value_node)
                                                                (*iter)->set_point(Point((*bline_width)(time, amount).get(Real()), 0));
                                                }
                                        }
@@ -1489,7 +1488,7 @@ Duckmatic::add_to_ducks(const synfigapp::ValueDesc& value_desc,etl::handle<Canva
                                return false;
                        etl::handle<Duck> vertex_duck(last_duck());
                        vertex_duck->set_type(Duck::TYPE_VERTEX);
-                       if(!add_to_ducks(synfigapp::ValueDesc(value_node,4),canvas_view,transform_stack))
+                       if(!add_to_ducks(synfigapp::ValueDesc(value_node,4,-TANGENT_HANDLE_SCALE),canvas_view,transform_stack))
                                return false;
                        etl::handle<Duck> t1_duck(last_duck());
 
@@ -1502,7 +1501,7 @@ Duckmatic::add_to_ducks(const synfigapp::ValueDesc& value_desc,etl::handle<Canva
                        // If the tangents are split
                        if((*value_node->get_link("split"))(get_time()).get(bool()))
                        {
-                               if(!add_to_ducks(synfigapp::ValueDesc(value_node,5),canvas_view,transform_stack))
+                               if(!add_to_ducks(synfigapp::ValueDesc(value_node,5,TANGENT_HANDLE_SCALE),canvas_view,transform_stack))
                                        return false;
                                t2_duck=last_duck();
                                t2_duck->set_origin(vertex_duck);
@@ -1511,7 +1510,7 @@ Duckmatic::add_to_ducks(const synfigapp::ValueDesc& value_desc,etl::handle<Canva
                        }
                        else
                        {
-                               if(!add_to_ducks(synfigapp::ValueDesc(value_node,4),canvas_view,transform_stack))
+                               if(!add_to_ducks(synfigapp::ValueDesc(value_node,4,TANGENT_HANDLE_SCALE),canvas_view,transform_stack))
                                        return false;
                                t2_duck=last_duck();
                                t2_duck->set_origin(vertex_duck);
@@ -1666,7 +1665,7 @@ Duckmatic::add_to_ducks(const synfigapp::ValueDesc& value_desc,etl::handle<Canva
                                        // Add the tangent1 duck
                                        if(composite_vertex_value_node)
                                        {
-                                               if(!add_to_ducks(synfigapp::ValueDesc(composite_vertex_value_node,4),canvas_view,transform_stack))
+                                               if(!add_to_ducks(synfigapp::ValueDesc(composite_vertex_value_node,4,-TANGENT_BEZIER_SCALE),canvas_view,transform_stack))
                                                        return false;
                                                tduck=last_duck();
                                        }
@@ -1723,7 +1722,7 @@ Duckmatic::add_to_ducks(const synfigapp::ValueDesc& value_desc,etl::handle<Canva
                                if(composite_vertex_value_node)
                                {
                                        int i=bline_point.get_split_tangent_flag()?5:4;
-                                       if(!add_to_ducks(synfigapp::ValueDesc(composite_vertex_value_node,i),canvas_view,transform_stack,0,2))
+                                       if(!add_to_ducks(synfigapp::ValueDesc(composite_vertex_value_node,i,TANGENT_BEZIER_SCALE),canvas_view,transform_stack,0,2))
                                                return false;
                                        tduck=last_duck();
                                }