summaryrefslogtreecommitdiffstats
path: root/src/ui/tool/path-manipulator.cpp
diff options
context:
space:
mode:
authorJabier Arraiza Cenoz <jabier.arraiza@marker.es>2013-10-06 23:54:04 +0000
committerJabiertxof <jtx@jtx.marker.es>2013-10-06 23:54:04 +0000
commitc2d73f1a14e1d461553465892bc9a3767313878a (patch)
tree0343c834d348ff5cec78324e048312936a8c3f19 /src/ui/tool/path-manipulator.cpp
parentFix scaling handles (diff)
downloadinkscape-c2d73f1a14e1d461553465892bc9a3767313878a.tar.gz
inkscape-c2d73f1a14e1d461553465892bc9a3767313878a.zip
Fix scaling handles
(bzr r11950.1.171)
Diffstat (limited to 'src/ui/tool/path-manipulator.cpp')
-rw-r--r--src/ui/tool/path-manipulator.cpp36
1 files changed, 13 insertions, 23 deletions
diff --git a/src/ui/tool/path-manipulator.cpp b/src/ui/tool/path-manipulator.cpp
index 620c52e34..27def4cb1 100644
--- a/src/ui/tool/path-manipulator.cpp
+++ b/src/ui/tool/path-manipulator.cpp
@@ -1257,29 +1257,19 @@ Geom::Point PathManipulator::BSplineHandleReposition(Handle *h,double pos){
}
void PathManipulator::BSplineNodeHandlesReposition(Node *n){
- if(n->selected()){
- Node * nextNode = n->nodeToward(n->front());
- Node * prevNode = n->nodeToward(n->back());
- double prevPos = 0.0000;
- double nextPos = 0.0000;
- if(prevNode){
- prevPos = BSplineHandlePosition(prevNode->front(),prevNode->bsplineWeight);
- n->back()->setPosition(BSplineHandleReposition(n->back()));
- }
- if(nextNode){
- nextPos = BSplineHandlePosition(nextNode->back(),nextNode->bsplineWeight);
- n->front()->setPosition(BSplineHandleReposition(n->front()));
- }
- if(prevNode){
- if(!prevNode->isEndNode())
- prevNode->back()->setPosition(BSplineHandleReposition(prevNode->back(),prevPos));
- prevNode->front()->setPosition(BSplineHandleReposition(prevNode->front(),prevPos));
- }
- if(nextNode){
- if(!nextNode->isEndNode())
- nextNode->front()->setPosition(BSplineHandleReposition(nextNode->front(),nextPos));
- nextNode->back()->setPosition(BSplineHandleReposition(nextNode->back(),nextPos));
- }
+ Node * nextNode = n->nodeToward(n->front());
+ Node * prevNode = n->nodeToward(n->back());
+ if(prevNode){
+ n->back()->setPosition(BSplineHandleReposition(n->back()));
+ if(!prevNode->isEndNode())
+ prevNode->back()->setPosition(BSplineHandleReposition(prevNode->back(),prevNode->bsplineWeight));
+ prevNode->front()->setPosition(BSplineHandleReposition(prevNode->front(),prevNode->bsplineWeight));
+ }
+ if(nextNode){
+ n->front()->setPosition(BSplineHandleReposition(n->front()));
+ if(!nextNode->isEndNode())
+ nextNode->front()->setPosition(BSplineHandleReposition(nextNode->front(),nextNode->bsplineWeight));
+ nextNode->back()->setPosition(BSplineHandleReposition(nextNode->back(),nextNode->bsplineWeight));
}
}