Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/talogo.py
diff options
context:
space:
mode:
authorWalter Bender <walter@walter-laptop.(none)>2010-02-28 03:18:06 (GMT)
committer Walter Bender <walter@walter-laptop.(none)>2010-02-28 03:18:06 (GMT)
commit290582e58a295e4448963a919a8e61db3bc208f6 (patch)
treec9502bb59ddd80b3223d8d1e483b1d0540644f79 /talogo.py
parentabe042d1fa74fa540c980f63d8bc4f1656196d50 (diff)
save as SVG
Diffstat (limited to 'talogo.py')
-rw-r--r--talogo.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/talogo.py b/talogo.py
index c1d1290..4e0bfa5 100644
--- a/talogo.py
+++ b/talogo.py
@@ -339,6 +339,7 @@ class LogoCode:
'rightx':[0, lambda self: self.tw.rightx],
'rpos':[0, lambda self: self.tw.canvas.width/(self.tw.coord_scale*2)],
'savepix':[1, lambda self, x: self.save_picture(x)],
+ 'savesvg':[1, lambda self, x: self.save_svg(x)],
'scale':[0, lambda self: self.scale],
'setcolor':[1, lambda self, x: self.tw.canvas.setcolor(x)],
'seth':[1, lambda self, x: self.tw.canvas.seth(x)],
@@ -445,6 +446,7 @@ class LogoCode:
self.stacks[k] = None
self.stacks['stack1'] = None
self.stacks['stack2'] = None
+ self.tw.saving_svg = False
for b in blocks:
b.unhighlight()
@@ -480,6 +482,8 @@ class LogoCode:
dock = blk.docks[0]
if len(dock)>4: # There could be a '(', ')', '[' or ']'.
code.append(dock[4])
+ if blk.name == 'savesvg':
+ self.tw.saving_svg = True
if blk.primitive is not None: # make a tuple (prim, blk)
code.append((blk.primitive, self.tw.block_list.list.index(blk)))
elif len(blk.values)>0: # Extract the value from content blocks.
@@ -1002,6 +1006,10 @@ class LogoCode:
def save_picture(self, name):
self.tw.save_as_image(name)
+ def save_svg(self, name):
+ self.tw.canvas.svg_close()
+ self.tw.save_as_image(name, True)
+
def show_list(self, sarray):
x = self.tw.canvas.xcor/self.tw.coord_scale
y = self.tw.canvas.ycor/self.tw.coord_scale