From a11dac6b1af290ed224119fd9fe4565a69e26f68 Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Mon, 31 Oct 2011 22:29:21 +0000 Subject: more cleaning up cairo code --- (limited to 'TurtleArt') diff --git a/TurtleArt/tacanvas.py b/TurtleArt/tacanvas.py index 52e337b..1a37fc9 100644 --- a/TurtleArt/tacanvas.py +++ b/TurtleArt/tacanvas.py @@ -544,9 +544,14 @@ class TurtleGraphics: # Build a gtk.gdk.CairoContext from a cairo.Context to access # the set_source_pixbuf attribute. cr = gtk.gdk.CairoContext(self.canvas) + cr.save() + cr.rotate(self.heading * DEGTOR) cr.set_source_pixbuf(pixbuf, x, y) + # To do: reposition rectangle based on angle of rotation cr.rectangle(x, y, w, h) + cr.rotate(-self.heading * DEGTOR) cr.fill() + cr.restore() self.inval() if self.tw.saving_svg: if self.tw.running_sugar: @@ -593,6 +598,7 @@ class TurtleGraphics: pl.set_width(int(w) * pango.SCALE) cr.save() cr.translate(x, y) + cr.rotate(self.heading * DEGTOR) self.canvas.set_source_rgb(self.fgrgb[0] / 255., self.fgrgb[1] / 255., self.fgrgb[2] / 255.) diff --git a/TurtleArt/tawindow.py b/TurtleArt/tawindow.py index 987510b..c8955b2 100644 --- a/TurtleArt/tawindow.py +++ b/TurtleArt/tawindow.py @@ -80,10 +80,11 @@ class TurtleArtWindow(): _PLUGIN_SUBPATH = 'plugins' def __init__(self, canvas_window, path, parent=None, - mycolors=None, mynick=None, turtle_canvas=None): + mycolors=None, mynick=None, turtle_canvas=None, cr=None): self._loaded_project = '' self._sharing = False self.parent = parent + self.cr = cr self.turtle_canvas = turtle_canvas self.send_event = None # method to send events over the network self.gst_available = GST_AVAILABLE @@ -1755,9 +1756,8 @@ class TurtleArtWindow(): def _move_turtle(self, x, y): """ Move the selected turtle to (x, y). """ - (cx, cy) = self.canvas.canvas.get_xy() - self.canvas.xcor = x - cx - self.canvas.ycor = y + cy + self.canvas.xcor = x + self.canvas.ycor = y self.canvas.move_turtle() if self.running_sugar: self.display_coordinates() -- cgit v0.9.1