diff options
| author | Jabier Arraiza Cenoz <jabier.arraiza@marker.es> | 2014-11-09 21:04:21 +0000 |
|---|---|---|
| committer | Jabiertxof <jtx@jtx.marker.es> | 2014-11-09 21:04:21 +0000 |
| commit | d973faeac0f9dc8a0b100362ca93c79241b569af (patch) | |
| tree | 1ac80568ccc1b09adb3c3149181ead2dad3abea8 | |
| parent | From bug #1389723 (diff) | |
| download | inkscape-d973faeac0f9dc8a0b100362ca93c79241b569af.tar.gz inkscape-d973faeac0f9dc8a0b100362ca93c79241b569af.zip | |
fixed a bug pointed by su_v about transformations
(bzr r13694)
| -rw-r--r-- | share/extensions/dpiswitcher.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/share/extensions/dpiswitcher.py b/share/extensions/dpiswitcher.py index d35a46597..57ca4f731 100644 --- a/share/extensions/dpiswitcher.py +++ b/share/extensions/dpiswitcher.py @@ -68,6 +68,18 @@ class DPISwitcher(inkex.Effect): if "scale" in str(element.get('transform')): result = re.sub(r".*?((scale).*?\))", self.scaleElement, str(element.get('transform'))) element.set('transform', result) + if "matrix" in str(element.get('transform')): + result = re.sub(r".*?((matrix).*?\))", self.translateMatrixElement, str(element.get('transform'))) + element.set('transform', result) + if "translate" in str(element.get('transform')): + result = re.sub(r".*?((translate).*?\))", self.translateElement, str(element.get('transform'))) + element.set('transform', result) + if "matrix" in str(element.get('transform')): + result = re.sub(r".*?((matrix).*?\))", self.skewMatrixElement, str(element.get('transform'))) + element.set('transform', result) + if "skew" in str(element.get('transform')): + result = re.sub(r".*?((translate).*?\))", self.skewElement, str(element.get('transform'))) + element.set('transform', result) if "scale" not in str(element.get('transform')) and "matrix" not in str(element.get('transform')): element.set('transform', str(element.get('transform')) + "scale(" + str(self.factor) + ", " + str(self.factor) + ")") else: @@ -134,6 +146,14 @@ class DPISwitcher(inkex.Effect): translateMatrixVal = m.group(1).replace("matrix","").replace(" ","").replace("(","").replace(")","").split(",") return "matrix(" + translateMatrixVal[0] + "," + translateMatrixVal[1] + "," + translateMatrixVal[2] + "," + translateMatrixVal[3] + "," + str(float(translateMatrixVal[4]) * self.factor) + "," + str(float(translateMatrixVal[5]) * self.factor) + ")" + def skewElement(self, m): + skeweVal = m.group(1).replace("skew","").replace(" ","").replace("(","").replace(")","").split(",") + return "skew(" + str(float(skewVal[0]) * self.factor) + "," + str(float(skewVal[1]) * self.factor) + ")" + + def skewMatrixElement(self, m): + skewMatrixVal = m.group(1).replace("matrix","").replace(" ","").replace("(","").replace(")","").split(",") + return "matrix(" + skewMatrixVal[0] + "," + str(float(skewMatrixVal[1]) * self.factor) + "," + str(float(skewMatrixVal[4]) * self.factor) + "," + skewMatrixVal[3] + "," + skewMatrixVal[4] + "," + skewMatrixVal[5]+ ")" + def effect(self): if self.options.switcher == "0": self.factor = 96.0/90.0 |
