diff options
| author | Krzysztof Kosi??ski <tweenk.pl@gmail.com> | 2009-12-05 02:48:07 +0000 |
|---|---|---|
| committer | Krzysztof KosiĆski <tweenk.pl@gmail.com> | 2009-12-05 02:48:07 +0000 |
| commit | a79eab7e518e7c1b3540075552ecb3e7aa62b0df (patch) | |
| tree | be0004871eab79010a7a5f7d98520d7e183d0621 /src/ui/tool/path-manipulator.cpp | |
| parent | GSoC node tool (diff) | |
| download | inkscape-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.cpp | 12 |
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) |
