diff options
| author | Jabier Arraiza Cenoz <jabier.arraiza@marker.es> | 2013-11-20 00:14:57 +0000 |
|---|---|---|
| committer | Jabiertxof <jtx@jtx.marker.es> | 2013-11-20 00:14:57 +0000 |
| commit | 98fc7e79f2ddbbcb2f8d1766eedb5e80d08c6300 (patch) | |
| tree | 0dd822e6b40f98ac867aff3773483a3e59917fe4 /share/extensions | |
| parent | Fix repointed by su_v (diff) | |
| parent | BalloonSymbols.svg rewritten. Balloon symbols should render properly in all b... (diff) | |
| download | inkscape-98fc7e79f2ddbbcb2f8d1766eedb5e80d08c6300.tar.gz inkscape-98fc7e79f2ddbbcb2f8d1766eedb5e80d08c6300.zip | |
Update to trunk
(bzr r12588.1.30)
Diffstat (limited to 'share/extensions')
| -rw-r--r-- | share/extensions/hpgl_decoder.py | 2 | ||||
| -rw-r--r-- | share/extensions/hpgl_encoder.py | 19 | ||||
| -rwxr-xr-x | share/extensions/inkex.py | 10 | ||||
| -rw-r--r-- | share/extensions/plotter.py | 1 |
4 files changed, 18 insertions, 14 deletions
diff --git a/share/extensions/hpgl_decoder.py b/share/extensions/hpgl_decoder.py index 0af2d5f5f..96571df94 100644 --- a/share/extensions/hpgl_decoder.py +++ b/share/extensions/hpgl_decoder.py @@ -33,6 +33,8 @@ class hpglDecoder: "resolutionX":float "resolutionY":float "showMovements":bool + "docWidth":float + "docHeight":float ''' self.hpglString = hpglString self.options = options diff --git a/share/extensions/hpgl_encoder.py b/share/extensions/hpgl_encoder.py index b4191e7c0..692f11cd4 100644 --- a/share/extensions/hpgl_encoder.py +++ b/share/extensions/hpgl_encoder.py @@ -62,13 +62,14 @@ class hpglEncoder: self.sizeY = 'False' self.dryRun = True self.lastPoint = [0, 0, 0] - self.scaleX = self.options.resolutionX / 90 # inch to pixels - self.scaleY = self.options.resolutionY / 90 # inch to pixels - self.options.offsetX = self.options.offsetX * 3.5433070866 * self.scaleX # mm to dots (plotter coordinate system) - self.options.offsetY = self.options.offsetY * 3.5433070866 * self.scaleY # mm to dots - self.options.overcut = self.options.overcut * 3.5433070866 * ((self.scaleX + self.scaleY) / 2) # mm to dots - self.options.toolOffset = self.options.toolOffset * 3.5433070866 * ((self.scaleX + self.scaleY) / 2) # mm to dots - self.options.flat = ((self.options.resolutionX + self.options.resolutionY) / 2) * self.options.flat / 1000 # scale flatness to resolution + self.scaleX = self.options.resolutionX / effect.unittouu("1.0in") # dots per inch to dots per user unit + self.scaleY = self.options.resolutionY / effect.unittouu("1.0in") # dots per inch to dots per user unit + scaleXY = (self.scaleX + self.scaleY) / 2 + self.options.offsetX = effect.unittouu(str(self.options.offsetX) + "mm") * self.scaleX # mm to dots (plotter coordinate system) + self.options.offsetY = effect.unittouu(str(self.options.offsetY) + "mm") * self.scaleY # mm to dots + self.options.overcut = effect.unittouu(str(self.options.overcut) + "mm") * scaleXY # mm to dots + self.options.toolOffset = effect.unittouu(str(self.options.toolOffset) + "mm") * scaleXY # mm to dots + self.options.flat = self.options.flat / (1016 / ((self.options.resolutionX + self.options.resolutionY) / 2)) # scale flatness to resolution self.toolOffsetFlat = self.options.flat / self.options.toolOffset * 4.5 # scale flatness to offset self.mirrorX = 1.0 if self.options.mirrorX: @@ -83,8 +84,8 @@ class hpglEncoder: if viewBox: viewBox = string.split(viewBox, ' ') if viewBox[2] and viewBox[3]: - self.viewBoxTransformX = float(effect.unittouu(self.doc.get('width'))) / float(viewBox[2]) - self.viewBoxTransformY = float(effect.unittouu(self.doc.get('height'))) / float(viewBox[3]) + self.viewBoxTransformX = effect.unittouu(self.doc.get('width')) / effect.unittouu(viewBox[2]) + self.viewBoxTransformY = effect.unittouu(self.doc.get('height')) / effect.unittouu(viewBox[3]) def getHpgl(self): # dryRun to find edges diff --git a/share/extensions/inkex.py b/share/extensions/inkex.py index 4542bc418..5333ef52b 100755 --- a/share/extensions/inkex.py +++ b/share/extensions/inkex.py @@ -269,11 +269,11 @@ class Effect: return 'px' #a dictionary of unit to user unit conversion factors - uuconv = {'in':90.0, 'pt':1.25, 'px':1, 'mm':3.5433070866, 'cm':35.433070866, 'm':3543.3070866, + __uuconv = {'in':90.0, 'pt':1.25, 'px':1, 'mm':3.5433070866, 'cm':35.433070866, 'm':3543.3070866, 'km':3543307.0866, 'pc':15.0, 'yd':3240 , 'ft':1080} def unittouu(self, string): '''Returns userunits given a string representation of units in another system''' - unit = re.compile('(%s)$' % '|'.join(self.uuconv.keys())) + unit = re.compile('(%s)$' % '|'.join(self.__uuconv.keys())) param = re.compile(r'(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)') p = param.match(string) @@ -284,16 +284,16 @@ class Effect: retval = 0.0 if u: try: - return retval * (self.uuconv[u.string[u.start():u.end()]] / self.uuconv[self.getDocumentUnit()]) + return retval * (self.__uuconv[u.string[u.start():u.end()]] / self.__uuconv[self.getDocumentUnit()]) except KeyError: pass else: # default assume 'px' unit - return retval / self.uuconv[self.getDocumentUnit()] + return retval / self.__uuconv[self.getDocumentUnit()] return retval def uutounit(self, val, unit): - return val / (self.uuconv[unit] / self.uuconv[self.getDocumentUnit()]) + return val / (self.__uuconv[unit] / self.__uuconv[self.getDocumentUnit()]) # vim: expandtab shiftwidth=4 tabstop=8 softtabstop=4 fileencoding=utf-8 textwidth=99 diff --git a/share/extensions/plotter.py b/share/extensions/plotter.py index f57057435..78d480f05 100644 --- a/share/extensions/plotter.py +++ b/share/extensions/plotter.py @@ -79,6 +79,7 @@ class MyEffect(inkex.Effect): raise ValueError, ('', type, value), traceback # TODO: Get preview to work. This requires some work on the C++ side to be able to determine if it is # a preview or a final run. (Remember to set <effect needs-live-preview='false'> to true) + # This outcommented code has a user unit issue (getSvg produces px, docWidth could be mm or something else) ''' # reparse data for preview self.options.showMovements = True |
