summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xshare/extensions/inkex.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/share/extensions/inkex.py b/share/extensions/inkex.py
index b8bba3803..41fdcd959 100755
--- a/share/extensions/inkex.py
+++ b/share/extensions/inkex.py
@@ -85,6 +85,21 @@ class Effect:
stream = sys.stdin
self.document = reader.fromStream(stream)
stream.close()
+ def getposinlayer(self):
+ ctx = xml.xpath.Context.Context(self.document,processorNss=NSS)
+ #defaults
+ self.current_layer = self.document.documentElement
+ self.view_center = (0.0,0.0)
+
+ layername = xml.xpath.Evaluate('//sodipodi:namedview/@inkscape:current-layer',self.document,context=ctx)[0].value
+ layer = xml.xpath.Evaluate('//g[@id="%s"]' % layername,self.document,context=ctx)[0]
+ if layer:
+ self.current_layer = layer
+
+ x = xml.xpath.Evaluate('//sodipodi:namedview/@inkscape:cx',self.document,context=ctx)[0].value
+ y = xml.xpath.Evaluate('//sodipodi:namedview/@inkscape:cy',self.document,context=ctx)[0].value
+ if x and y:
+ self.view_center = (float(x),float(y))
def getselected(self):
"""Collect selected nodes"""
for id in self.options.ids:
@@ -98,6 +113,7 @@ class Effect:
"""Affect an SVG document with a callback effect"""
self.getoptions()
self.parse()
+ self.getposinlayer()
self.getselected()
self.effect()
self.output()