X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fstate_smoothmove.cpp;h=4ea8de63fae3fc2a1062f4195bc3a31ad4eada6a;hb=2408c43789dd50d9219f5bea349ed9543e4e39ea;hp=450cd53227e278dd5e1dc4a70f2e5f0a80ca5c4e;hpb=837b63e9fb829d66d43f4f169861f8979f76820d;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/state_smoothmove.cpp b/synfig-studio/trunk/src/gtkmm/state_smoothmove.cpp index 450cd53..4ea8de6 100644 --- a/synfig-studio/trunk/src/gtkmm/state_smoothmove.cpp +++ b/synfig-studio/trunk/src/gtkmm/state_smoothmove.cpp @@ -260,9 +260,13 @@ DuckDrag_SmoothMove::duck_drag(Duckmatic* duckmatic, const synfig::Vector& vecto int i; + // process vertex and position ducks first for(i=0,iter=selected_ducks.begin();iter!=selected_ducks.end();++iter,i++) { - if(((*iter)->get_type()!=Duck::TYPE_VERTEX&&(*iter)->get_type()!=Duck::TYPE_POSITION))continue; + // skip this duck if it is NOT a vertex or a position + if (((*iter)->get_type() != Duck::TYPE_VERTEX && + (*iter)->get_type() != Duck::TYPE_POSITION)) + continue; Point p(positions[i]); float dist(1.0f-(p-drag_offset_).mag()/get_radius()); @@ -273,9 +277,13 @@ DuckDrag_SmoothMove::duck_drag(Duckmatic* duckmatic, const synfig::Vector& vecto (*iter)->set_trans_point(p+last_[i]); } + // then process non vertex and non position ducks for(i=0,iter=selected_ducks.begin();iter!=selected_ducks.end();++iter,i++) { - if(!((*iter)->get_type()!=Duck::TYPE_VERTEX&&(*iter)->get_type()!=Duck::TYPE_POSITION))continue; + // skip this duck if it IS a vertex or a position + if (!((*iter)->get_type() != Duck::TYPE_VERTEX && + (*iter)->get_type() != Duck::TYPE_POSITION)) + continue; Point p(positions[i]); float dist(1.0f-(p-drag_offset_).mag()/get_radius());