diff options
| author | su_v <suv-sf@users.sourceforge.net> | 2015-12-09 08:03:02 +0000 |
|---|---|---|
| committer | ~suv <suv-sf@users.sourceforge.net> | 2015-12-09 08:03:02 +0000 |
| commit | 4e34221f5ffa5a8835b2d20c8386a820b9d56ccd (patch) | |
| tree | a18c2b35cb8d62ef38dbb2c0f34ab0cecc56eee1 | |
| parent | merge from trunk (r14506) (diff) | |
| download | inkscape-4e34221f5ffa5a8835b2d20c8386a820b9d56ccd.tar.gz inkscape-4e34221f5ffa5a8835b2d20c8386a820b9d56ccd.zip | |
Extensions. Fix for 'Alphabet Soup' and 'Foldable Box' in transformed layers or groups (bug #1503882)
Fixed bugs:
- https://launchpad.net/bugs/1503882
(bzr r14425.1.5)
| -rwxr-xr-x | share/extensions/foldablebox.py | 7 | ||||
| -rwxr-xr-x | share/extensions/render_alphabetsoup.py | 7 |
2 files changed, 14 insertions, 0 deletions
diff --git a/share/extensions/foldablebox.py b/share/extensions/foldablebox.py index b504de89f..9d58974c5 100755 --- a/share/extensions/foldablebox.py +++ b/share/extensions/foldablebox.py @@ -22,6 +22,7 @@ __version__ = "0.2" import inkex, simplestyle from math import * from simplepath import formatPath +import simpletransform class FoldableBox(inkex.Effect): @@ -258,6 +259,12 @@ class FoldableBox(inkex.Effect): g.set( 'transform', 'translate(%f,%f)' % ( (docW-left_pos)/2, (docH-lower_pos)/2 ) ) + # compensate preserved transforms of parent layer + if self.current_layer.getparent() is not None: + mat = simpletransform.composeParents(self.current_layer, [[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]]) + simpletransform.applyTransformToNode(simpletransform.invertTransform(mat), g) + + if __name__ == '__main__': #pragma: no cover e = FoldableBox() e.affect() diff --git a/share/extensions/render_alphabetsoup.py b/share/extensions/render_alphabetsoup.py index 083f03af9..a2cbcb978 100755 --- a/share/extensions/render_alphabetsoup.py +++ b/share/extensions/render_alphabetsoup.py @@ -33,6 +33,7 @@ import simplestyle import render_alphabetsoup_config import bezmisc import simplepath +import simpletransform inkex.localize() @@ -533,6 +534,12 @@ class AlphabetSoup(inkex.Effect): new.set('d', simplepath.formatPath(image)) self.current_layer.append(new) + # compensate preserved transforms of parent layer + if self.current_layer.getparent() is not None: + mat = simpletransform.composeParents(self.current_layer, [[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]]) + simpletransform.applyTransformToNode(simpletransform.invertTransform(mat), new) + + if __name__ == '__main__': e = AlphabetSoup() e.affect() |
