summaryrefslogtreecommitdiffstats
path: root/src/ui/tool/path-manipulator.cpp
diff options
context:
space:
mode:
authorKrzysztof Kosi??ski <tweenk.pl@gmail.com>2009-12-05 02:48:07 +0000
committerKrzysztof KosiƄski <tweenk.pl@gmail.com>2009-12-05 02:48:07 +0000
commita79eab7e518e7c1b3540075552ecb3e7aa62b0df (patch)
treebe0004871eab79010a7a5f7d98520d7e183d0621 /src/ui/tool/path-manipulator.cpp
parentGSoC node tool (diff)
downloadinkscape-a79eab7e518e7c1b3540075552ecb3e7aa62b0df.tar.gz
inkscape-a79eab7e518e7c1b3540075552ecb3e7aa62b0df.zip
Fix mask editing behavior on undo and outline display for masks/clips;
prepare to fix LPE path parameters (bzr r8846.2.2)
Diffstat (limited to 'src/ui/tool/path-manipulator.cpp')
-rw-r--r--src/ui/tool/path-manipulator.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/ui/tool/path-manipulator.cpp b/src/ui/tool/path-manipulator.cpp
index ef8572330..e9ec78b2e 100644
--- a/src/ui/tool/path-manipulator.cpp
+++ b/src/ui/tool/path-manipulator.cpp
@@ -690,6 +690,18 @@ void PathManipulator::showPathDirection(bool show)
_updateOutline();
}
+void PathManipulator::setControlsTransform(Geom::Matrix const &tnew)
+{
+ Geom::Matrix delta = _i2d_transform.inverse() * _edit_transform.inverse() * tnew * _i2d_transform;
+ _edit_transform = tnew;
+ for (SubpathList::iterator i = _subpaths.begin(); i != _subpaths.end(); ++i) {
+ for (NodeList::iterator j = (*i)->begin(); j != (*i)->end(); ++j) {
+ j->transform(delta);
+ }
+ }
+ _createGeometryFromControlPoints();
+}
+
/** Insert a node in the segment beginning with the supplied iterator,
* at the given time value */
NodeList::iterator PathManipulator::subdivideSegment(NodeList::iterator first, double t)