summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlvin Penner <penner@vaxxine.com>2014-02-09 17:03:05 +0000
committerapenner <penner@vaxxine.com>2014-02-09 17:03:05 +0000
commitc655e31cc1bbbec30e3143f5078fbe23ca3feb0d (patch)
treeeb3d6e4f8ae2423a4ce30794d00b2f0feb6fc2f1
parentfix build on Mavericks (clang, libc++) (diff)
downloadinkscape-c655e31cc1bbbec30e3143f5078fbe23ca3feb0d.tar.gz
inkscape-c655e31cc1bbbec30e3143f5078fbe23ca3feb0d.zip
Extensions->Render submenu. Scaling of group transform into document units, Part 3 (Bug 1240455)
(bzr r13015)
-rw-r--r--share/extensions/Barcode/Base.py3
-rwxr-xr-xshare/extensions/hershey.py5
-rwxr-xr-xshare/extensions/polyhedron_3d.py3
-rwxr-xr-xshare/extensions/render_barcode.py1
-rwxr-xr-xshare/extensions/render_barcode_datamatrix.py3
-rwxr-xr-xshare/extensions/render_barcode_qrcode.py3
6 files changed, 14 insertions, 4 deletions
diff --git a/share/extensions/Barcode/Base.py b/share/extensions/Barcode/Base.py
index 8fee6a996..b86185388 100644
--- a/share/extensions/Barcode/Base.py
+++ b/share/extensions/Barcode/Base.py
@@ -39,6 +39,7 @@ class Barcode(object):
self.document = param.get('document', None)
self.x = int(param.get('x', 0))
self.y = int(param.get('y', 0))
+ self.scale = param.get('scale', 1)
self.height = param.get('height', 30)
self.label = param.get('text', None)
self.string = self.encode( self.label )
@@ -77,7 +78,7 @@ class Barcode(object):
barcode = etree.Element('{%s}%s' % (svg_uri,'g'))
barcode.set('id', name)
barcode.set('style', 'fill: black;')
- barcode.set('transform', 'translate(%d,%d)' % (self.x, self.y))
+ barcode.set('transform', 'translate(%d,%d) scale(%f)' % (self.x, self.y, self.scale))
bar_offset = 0
bar_id = 1
diff --git a/share/extensions/hershey.py b/share/extensions/hershey.py
index 931e5f337..1ddabfbe0 100755
--- a/share/extensions/hershey.py
+++ b/share/extensions/hershey.py
@@ -63,6 +63,7 @@ class Hershey( inkex.Effect ):
g_attribs = {inkex.addNS('label','inkscape'):'Hershey Text' }
g = inkex.etree.SubElement(self.current_layer, 'g', g_attribs)
+ scale = self.unittouu('1px') # convert to document units
font = eval('hersheydata.' + str(self.options.fontface))
clearfont = hersheydata.futural
#Baseline: modernized roman simplex from JHF distribution.
@@ -97,7 +98,9 @@ class Hershey( inkex.Effect ):
w = wmax
# Translate group to center of view, approximately
- t = 'translate(' + str( self.view_center[0] - w/2) + ',' + str( self.view_center[1] ) + ')'
+ t = 'translate(' + str( self.view_center[0] - scale*w/2) + ',' + str( self.view_center[1] ) + ')'
+ if scale != 1:
+ t += ' scale(' + str(scale) + ')'
g.set( 'transform',t)
diff --git a/share/extensions/polyhedron_3d.py b/share/extensions/polyhedron_3d.py
index d1d6adc0f..f191d7f89 100755
--- a/share/extensions/polyhedron_3d.py
+++ b/share/extensions/polyhedron_3d.py
@@ -459,6 +459,7 @@ class Poly_3D(inkex.Effect):
get_obj_data(obj, file)#load data from the obj file
obj.set_type(so)#set the type (face or edge) as per the settings
+ scale = self.unittouu('1px') # convert to document units
st = Style(so) #initialise style
fill_col = (so.f_r, so.f_g, so.f_b) #colour tuple for the face fill
lighting = normalise( (so.lv_x,-so.lv_y,so.lv_z) ) #unit light vector
@@ -467,6 +468,8 @@ class Poly_3D(inkex.Effect):
#Put in in the centre of the current view
poly_transform = 'translate(' + str( self.view_center[0]) + ',' + str( self.view_center[1]) + ')'
+ if scale != 1:
+ poly_transform += ' scale(' + str(scale) + ')'
#we will put all the rotations in the object name, so it can be repeated in
poly_name = obj.name+':'+make_rotation_log(so)
poly_attribs = {inkex.addNS('label','inkscape'):poly_name,
diff --git a/share/extensions/render_barcode.py b/share/extensions/render_barcode.py
index ecfe215aa..7d4c671c0 100755
--- a/share/extensions/render_barcode.py
+++ b/share/extensions/render_barcode.py
@@ -45,6 +45,7 @@ class InsertBarcode(inkex.Effect):
'document' : self.document,
'x' : x,
'y' : y,
+ 'scale' : self.unittouu('1px'),
} )
if bargen is not None:
barcode = bargen.generate()
diff --git a/share/extensions/render_barcode_datamatrix.py b/share/extensions/render_barcode_datamatrix.py
index 2d28bb433..bca1d2241 100755
--- a/share/extensions/render_barcode_datamatrix.py
+++ b/share/extensions/render_barcode_datamatrix.py
@@ -665,6 +665,7 @@ class DataMatrix(inkex.Effect):
def effect(self):
+ scale = self.unittouu('1px') # convert to document units
so = self.options
rows = so.ROWS
@@ -680,7 +681,7 @@ class DataMatrix(inkex.Effect):
#INKSCAPE GROUP TO CONTAIN EVERYTHING
centre = self.view_center #Put in in the centre of the current view
- grp_transform = 'translate' + str( centre )
+ grp_transform = 'translate' + str( centre ) + ' scale(%f)' % scale
grp_name = 'DataMatrix'
grp_attribs = {inkex.addNS('label','inkscape'):grp_name,
'transform':grp_transform }
diff --git a/share/extensions/render_barcode_qrcode.py b/share/extensions/render_barcode_qrcode.py
index 8147d49a6..7b4895195 100755
--- a/share/extensions/render_barcode_qrcode.py
+++ b/share/extensions/render_barcode_qrcode.py
@@ -1047,6 +1047,7 @@ class QRCodeInkscape(inkex.Effect):
def effect(self):
+ scale = self.unittouu('1px') # convert to document units
so = self.options
if so.TEXT == '': #abort if converting blank text
@@ -1057,7 +1058,7 @@ class QRCodeInkscape(inkex.Effect):
so.TEXT = unicode(so.TEXT, so.input_encode)
centre = self.view_center #Put in in the centre of the current view
- grp_transform = 'translate' + str( centre )
+ grp_transform = 'translate' + str( centre ) + ' scale(%f)' % scale
grp_name = 'QR Code: '+so.TEXT
grp_attribs = {inkex.addNS('label','inkscape'):grp_name,
'transform':grp_transform }