diff options
| author | Jabier Arraiza Cenoz <jabier.arraiza@marker.es> | 2013-10-06 10:18:59 +0000 |
|---|---|---|
| committer | Jabiertxof <jtx@jtx.marker.es> | 2013-10-06 10:18:59 +0000 |
| commit | 3111608afecf747627810a6222cb7ca1eded6962 (patch) | |
| tree | 0d343185df240f4b9945d319bc44514891fe3578 /src/pen-context.cpp | |
| parent | Fix in bsplines (diff) | |
| download | inkscape-3111608afecf747627810a6222cb7ca1eded6962.tar.gz inkscape-3111608afecf747627810a6222cb7ca1eded6962.zip | |
UX improvements
(bzr r11950.1.166)
Diffstat (limited to 'src/pen-context.cpp')
| -rw-r--r-- | src/pen-context.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/pen-context.cpp b/src/pen-context.cpp index a9bd09c51..936afe4e0 100644 --- a/src/pen-context.cpp +++ b/src/pen-context.cpp @@ -1573,7 +1573,7 @@ static void bspline_spiro_motion(SPPenContext *const pc, bool shift){ using Geom::X; using Geom::Y; SPCurve *tmpCurve = new SPCurve(); - pc->p[2] = pc->p[3]; + pc->p[2] = pc->p[3] + (1./3)*(pc->p[0] - pc->p[3]); if(pc->green_curve->is_empty() && !pc->sa){ pc->p[1] = pc->p[0] + (1./3)*(pc->p[3] - pc->p[0]); }else if(!pc->green_curve->is_empty()){ @@ -1601,6 +1601,10 @@ static void bspline_spiro_motion(SPPenContext *const pc, bool shift){ pc->p[1] = SBasisWPower.valueAt(WP); if(!Geom::are_near(pc->p[1],pc->p[0])) pc->p[1] = Geom::Point(pc->p[1][X] + 0.0001,pc->p[1][Y] + 0.0001); + if(shift) + pc->p[2]=pc->p[3]; + else + pc->p[2] = pc->p[3] + (1./3)*(pc->p[0] - pc->p[3]); }else{ pc->p[1] = (*cubic)[3] + (Geom::Point)((*cubic)[3] - (*cubic)[2] ); } |
