Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/TurtleArt
diff options
context:
space:
mode:
authorWalter Bender <walter.bender@gmail.com>2011-10-31 22:29:21 (GMT)
committer Walter Bender <walter.bender@gmail.com>2011-10-31 22:29:21 (GMT)
commita11dac6b1af290ed224119fd9fe4565a69e26f68 (patch)
tree081715f516b5a16d8958cac088cb1246901e4d68 /TurtleArt
parent905295c256eeef02a40a084a700831370a501a8c (diff)
more cleaning up cairo code
Diffstat (limited to 'TurtleArt')
-rw-r--r--TurtleArt/tacanvas.py6
-rw-r--r--TurtleArt/tawindow.py8
2 files changed, 10 insertions, 4 deletions
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()