summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Owens <doctormo@gmail.com>2017-08-13 11:25:19 +0000
committerMartin Owens <doctormo@gmail.com>2017-08-13 11:25:19 +0000
commit5ac4f161ebaa156d8f33a8b03eb31c81551753b0 (patch)
treebd7535445556a0fb671a59d36ccbe1b4ef3e96d3
parentMerge branch 'ao2/inkscape-seltrans-fix-norm-grip-and-rotation-center' (diff)
parentUpdate summersnight.py for https://bugs.launchpad.net/inkscape/+bug/1653650. (diff)
downloadinkscape-5ac4f161ebaa156d8f33a8b03eb31c81551753b0.tar.gz
inkscape-5ac4f161ebaa156d8f33a8b03eb31c81551753b0.zip
Merge branch 'alvinpenner/inkscape-master'
-rwxr-xr-xshare/extensions/perspective.py9
-rwxr-xr-xshare/extensions/summersnight.py9
2 files changed, 18 insertions, 0 deletions
diff --git a/share/extensions/perspective.py b/share/extensions/perspective.py
index f15deaad5..f7d5be606 100755
--- a/share/extensions/perspective.py
+++ b/share/extensions/perspective.py
@@ -54,6 +54,15 @@ class Project(inkex.Effect):
#obj is selected second
scale = self.unittouu('1px') # convert to document units
+ doc = self.document.getroot()
+ h = self.unittouu(doc.xpath('@height', namespaces=inkex.NSS)[0])
+ # process viewBox height attribute to correct page scaling
+ viewBox = doc.get('viewBox')
+ if viewBox:
+ viewBox2 = viewBox.split(',')
+ if len(viewBox2) < 4:
+ viewBox2 = viewBox.split(' ')
+ scale *= self.unittouu(self.addDocumentUnit(viewBox2[3])) / h
obj = self.selected[self.options.ids[0]]
envelope = self.selected[self.options.ids[1]]
if obj.get(inkex.addNS('type','sodipodi')):
diff --git a/share/extensions/summersnight.py b/share/extensions/summersnight.py
index abc9327e5..a4f15ef1f 100755
--- a/share/extensions/summersnight.py
+++ b/share/extensions/summersnight.py
@@ -43,6 +43,15 @@ class Project(inkex.Effect):
#obj is selected second
scale = self.unittouu('1px') # convert to document units
+ doc = self.document.getroot()
+ h = self.unittouu(doc.xpath('@height', namespaces=inkex.NSS)[0])
+ # process viewBox height attribute to correct page scaling
+ viewBox = doc.get('viewBox')
+ if viewBox:
+ viewBox2 = viewBox.split(',')
+ if len(viewBox2) < 4:
+ viewBox2 = viewBox.split(' ')
+ scale *= self.unittouu(self.addDocumentUnit(viewBox2[3])) / h
obj = self.selected[self.options.ids[0]]
trafo = self.selected[self.options.ids[1]]
if obj.get(inkex.addNS('type','sodipodi')):