Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/turtleart.py
diff options
context:
space:
mode:
authorWalter Bender <walter.bender@gmail.com>2011-11-05 19:11:54 (GMT)
committer Walter Bender <walter.bender@gmail.com>2011-11-05 19:11:54 (GMT)
commit09812f9d4e7c60923920ae7ea3746bd7cbb4b195 (patch)
tree920322db7c8f049d2c5485e4698479abf5ba9bdf /turtleart.py
parent7d8047386acfecf540d23d165dc123aa67ea5a16 (diff)
myriad of small patches to get non-interactive mode working again
Diffstat (limited to 'turtleart.py')
-rwxr-xr-xturtleart.py22
1 files changed, 15 insertions, 7 deletions
diff --git a/turtleart.py b/turtleart.py
index ab5e7b7..9afc238 100755
--- a/turtleart.py
+++ b/turtleart.py
@@ -84,11 +84,13 @@ class TurtleMain():
self._plugins = []
if self.output_png:
+ # Fix me: We need to create a cairo surface to work with
pixbuf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8,
gtk.gdk.screen_width(),
gtk.gdk.screen_height())
- self.canvas, mask = pixbuf.render_pixmap_and_mask()
- self._build_window()
+ # self.canvas, mask = pixbuf.render_pixmap_and_mask()
+ self.canvas = pixbuf
+ self._build_window(interactive=False)
self._draw_and_quit()
else:
self._read_initial_pos()
@@ -175,13 +177,19 @@ class TurtleMain():
self.tw.load_start(self.ta_file)
self.tw.lc.trace = 0
self.tw.run_button(0)
- self.tw.save_as_image(self.ta_file, self.canvas)
+ self.tw.save_as_image(self.ta_file)
- def _build_window(self):
+ def _build_window(self, interactive=True):
''' Initialize the TurtleWindow instance. '''
- win = self.canvas.get_window()
- cr = win.cairo_create()
- surface = cr.get_target()
+ if interactive:
+ win = self.canvas.get_window()
+ cr = win.cairo_create()
+ surface = cr.get_target()
+ else:
+ img_surface = cairo.ImageSurface(cairo.FORMAT_RGB24,
+ 1024, 768)
+ cr = cairo.Context(img_surface)
+ surface = cr.get_target()
self.turtle_canvas = surface.create_similar(
cairo.CONTENT_COLOR, gtk.gdk.screen_width() * 2,
gtk.gdk.screen_height() * 2)