diff options
| author | Aaron Spike <aaron@ekips.org> | 2006-05-28 03:41:31 +0000 |
|---|---|---|
| committer | acspike <acspike@users.sourceforge.net> | 2006-05-28 03:41:31 +0000 |
| commit | a394ce3b3de21fa59131ae2540c63431b3e8d174 (patch) | |
| tree | c0b0187166f2eb2e9d2ed54c8fe58612e2dbb793 | |
| parent | patch 1496036 and fix for 1496114 (diff) | |
| download | inkscape-a394ce3b3de21fa59131ae2540c63431b3e8d174.tar.gz inkscape-a394ce3b3de21fa59131ae2540c63431b3e8d174.zip | |
add a function to pull some info from the sodipodi:namedview
(bzr r1032)
| -rwxr-xr-x | share/extensions/inkex.py | 16 |
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() |
