diff options
Diffstat (limited to 'TurtleArt')
-rw-r--r-- | TurtleArt/sprites.py | 3 | ||||
-rw-r--r-- | TurtleArt/tacanvas.py | 8 |
2 files changed, 6 insertions, 5 deletions
diff --git a/TurtleArt/sprites.py b/TurtleArt/sprites.py index 9577656..a33b593 100644 --- a/TurtleArt/sprites.py +++ b/TurtleArt/sprites.py @@ -334,7 +334,8 @@ class Sprite: self.rect.x + self._dx[i], self.rect.y + self._dy[i]) elif _is_pixbuf(img): - cr.set_source_pixbuf(img, + # on GTK2, cr must be a Gdk.CairoContext + Gdk.cairo_set_source_pixbuf(cr, img, self.rect.x + self._dx[i], self.rect.y + self._dy[i]) # self.surfaces[i] = cr.get_target() diff --git a/TurtleArt/tacanvas.py b/TurtleArt/tacanvas.py index 1c545a6..ac20092 100644 --- a/TurtleArt/tacanvas.py +++ b/TurtleArt/tacanvas.py @@ -106,7 +106,7 @@ class TurtleGraphics: # Build a cairo.Context from a cairo.XlibSurface self.canvas = cairo.Context(self.tw.turtle_canvas) - cr = Gdk.CairoContext(self.canvas) + cr = Gdk.CairoContext(self.canvas) # GTK2 compat cr.set_line_cap(1) # Set the line cap to be round self.cx = 0 @@ -527,14 +527,14 @@ class TurtleGraphics: def draw_pixbuf(self, pixbuf, a, b, x, y, w, h, path, share=True): ''' Draw a pixbuf ''' # Build a Gdk.CairoContext from a cairo.Context to access - # the set_source_pixbuf attribute. - cr = Gdk.CairoContext(self.canvas) + # the set_source_pixbuf attribute. (GTK2 only) + cr = Gdk.CairoContext(self.canvas) # GTK2 compat cr.save() # center the rotation on the center of the image cr.translate(x + w / 2., y + h / 2.) cr.rotate(self.heading * DEGTOR) cr.translate(-x - w / 2., -y - h / 2.) - cr.set_source_pixbuf(pixbuf, x, y) + Gdk.cairo_set_source_pixbuf(cr, pixbuf, x, y) cr.rectangle(x, y, w, h) cr.fill() cr.restore() |