diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ui/tool/curve-drag-point.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/ui/tool/curve-drag-point.cpp b/src/ui/tool/curve-drag-point.cpp index 013553410..c27e4b5ee 100644 --- a/src/ui/tool/curve-drag-point.cpp +++ b/src/ui/tool/curve-drag-point.cpp @@ -94,8 +94,18 @@ void CurveDragPoint::dragged(Geom::Point &new_pos, GdkEventMotion *event) if(!_pm.isBSpline(false)){ first->front()->move(first->front()->position() + offset0); second->back()->move(second->back()->position() + offset1); - }else if(weight>=0.8 && held_shift(*event))second->back()->move(new_pos); - else if(weight<=0.2 && held_shift(*event))first->front()->move(new_pos); + }else if(weight>=0.8 && held_shift(*event)){ + second->back()->move(new_pos); + }else if(weight<=0.2 && held_shift(*event)){ + first->front()->move(new_pos); + }else if(weight>=0.7){ + second->move(second->position() + delta); + }else if(weight<=0.3){ + first->move(first->position() + delta); + }else{ + first->move(first->position() + delta); + second->move(second->position() + delta); + } _pm.update(); } |
