summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJabier Arraiza Cenoz <jabier.arraiza@marker.es>2014-12-15 10:33:45 +0000
committerJabiertxof <jtx@jtx.marker.es>2014-12-15 10:33:45 +0000
commit3c76f3240f731893531cc1270e2df4beb9f3694a (patch)
treec27d3ed0345dee789289142a18d404353a09a388 /src
parentPreferences. Fix for Bug #1401782 (Take from selection button should be greye... (diff)
downloadinkscape-3c76f3240f731893531cc1270e2df4beb9f3694a.tar.gz
inkscape-3c76f3240f731893531cc1270e2df4beb9f3694a.zip
Add rotate nodes parameter
(bzr r13798)
Diffstat (limited to 'src')
-rw-r--r--src/live_effects/lpe-show_handles.cpp18
-rw-r--r--src/live_effects/lpe-show_handles.h1
2 files changed, 13 insertions, 6 deletions
diff --git a/src/live_effects/lpe-show_handles.cpp b/src/live_effects/lpe-show_handles.cpp
index 7b2b445b7..2d8148730 100644
--- a/src/live_effects/lpe-show_handles.cpp
+++ b/src/live_effects/lpe-show_handles.cpp
@@ -25,15 +25,20 @@ LPEShowHandles::LPEShowHandles(LivePathEffectObject *lpeobject)
nodes(_("Show nodes"), _("Show nodes"), "nodes", &wr, this, true),
handles(_("Show handles"), _("Show handles"), "handles", &wr, this, true),
originalPath(_("Show path"), _("Show path"), "originalPath", &wr, this, true),
- scaleNodesAndHandles(_("Scale nodes and handles"), _("Scale nodes and handles"), "scaleNodesAndHandles", &wr, this, 10)
+ scaleNodesAndHandles(_("Scale nodes and handles"), _("Scale nodes and handles"), "scaleNodesAndHandles", &wr, this, 10),
+ rotateNodes(_("Rotate nodes"), _("Rotate nodes"), "rotateNodes", &wr, this, 0)
{
registerParameter(dynamic_cast<Parameter *>(&nodes));
registerParameter(dynamic_cast<Parameter *>(&handles));
registerParameter(dynamic_cast<Parameter *>(&originalPath));
registerParameter(dynamic_cast<Parameter *>(&scaleNodesAndHandles));
+ registerParameter(dynamic_cast<Parameter *>(&rotateNodes));
scaleNodesAndHandles.param_set_range(0, 500.);
scaleNodesAndHandles.param_set_increments(1, 1);
scaleNodesAndHandles.param_set_digits(2);
+ rotateNodes.param_set_range(0, 365);
+ rotateNodes.param_set_increments(1, 1);
+ rotateNodes.param_set_digits(0);
strokeWidth = 1.0;
}
@@ -158,10 +163,11 @@ LPEShowHandles::drawNode(Geom::Point p)
if(strokeWidth * scaleNodesAndHandles > 0.0) {
double diameter = strokeWidth * scaleNodesAndHandles;
char const * svgd;
- svgd = "M 0.55,0.5 A 0.05,0.05 0 0 1 0.5,0.55 0.05,0.05 0 0 1 0.45,0.5 0.05,0.05 0 0 1 0.5,0.45 0.05,0.05 0 0 1 0.55,0.5 Z M 0,0 1,0 1,1 0,1 Z";
+ svgd = "M 0.05,0 A 0.05,0.05 0 0 1 0,0.05 0.05,0.05 0 0 1 -0.05,0 0.05,0.05 0 0 1 0,-0.05 0.05,0.05 0 0 1 0.05,0 Z M -0.5,-0.5 0.5,-0.5 0.5,0.5 -0.5,0.5 Z";
Geom::PathVector pathv = sp_svg_read_pathv(svgd);
- pathv *= Geom::Affine(diameter,0,0,diameter,0,0);
- pathv += p - Geom::Point(diameter/2,diameter/2);
+ pathv *= Geom::Rotate::from_degrees(rotateNodes);
+ pathv *= Geom::Scale (diameter);
+ pathv += p;
outlinepath.push_back(pathv[0]);
outlinepath.push_back(pathv[1]);
}
@@ -175,8 +181,8 @@ LPEShowHandles::drawHandle(Geom::Point p)
char const * svgd;
svgd = "M 0.7,0.35 A 0.35,0.35 0 0 1 0.35,0.7 0.35,0.35 0 0 1 0,0.35 0.35,0.35 0 0 1 0.35,0 0.35,0.35 0 0 1 0.7,0.35 Z";
Geom::PathVector pathv = sp_svg_read_pathv(svgd);
- pathv *= Geom::Affine(diameter,0,0,diameter,0,0);
- pathv += p - Geom::Point(diameter * 0.35,diameter * 0.35);
+ pathv *= Geom::Scale (diameter);
+ pathv += p-Geom::Point(diameter * 0.35,diameter * 0.35);
outlinepath.push_back(pathv[0]);
}
}
diff --git a/src/live_effects/lpe-show_handles.h b/src/live_effects/lpe-show_handles.h
index 278908bb5..a405c26ee 100644
--- a/src/live_effects/lpe-show_handles.h
+++ b/src/live_effects/lpe-show_handles.h
@@ -44,6 +44,7 @@ private:
BoolParam handles;
BoolParam originalPath;
ScalarParam scaleNodesAndHandles;
+ ScalarParam rotateNodes;
double strokeWidth;
static bool alertsOff;