summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAaron Spike <aaron@ekips.org>2006-05-28 03:41:31 +0000
committeracspike <acspike@users.sourceforge.net>2006-05-28 03:41:31 +0000
commita394ce3b3de21fa59131ae2540c63431b3e8d174 (patch)
treec0b0187166f2eb2e9d2ed54c8fe58612e2dbb793
parentpatch 1496036 and fix for 1496114 (diff)
downloadinkscape-a394ce3b3de21fa59131ae2540c63431b3e8d174.tar.gz
inkscape-a394ce3b3de21fa59131ae2540c63431b3e8d174.zip
add a function to pull some info from the sodipodi:namedview
(bzr r1032)
-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()