summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsu_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
commit4e34221f5ffa5a8835b2d20c8386a820b9d56ccd (patch)
treea18c2b35cb8d62ef38dbb2c0f34ab0cecc56eee1
parentmerge from trunk (r14506) (diff)
downloadinkscape-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-xshare/extensions/foldablebox.py7
-rwxr-xr-xshare/extensions/render_alphabetsoup.py7
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()