From c244f861f2ad1be7e2ec8a3380ce053e7957e99e Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Fri, 04 Nov 2011 18:06:15 +0000 Subject: better isolation between classes --- (limited to 'TurtleArt') diff --git a/TurtleArt/tacanvas.py b/TurtleArt/tacanvas.py index 96f323d..cee5369 100644 --- a/TurtleArt/tacanvas.py +++ b/TurtleArt/tacanvas.py @@ -123,20 +123,16 @@ class TurtleGraphics: self.width = width self.height = height - print type(self.tw.turtle_canvas) # Build a cairo.Context from a cairo.XlibSurface self.canvas = cairo.Context(self.tw.turtle_canvas) cr = gtk.gdk.CairoContext(self.canvas) - # print cr.get_current_point() cr.set_line_cap(1) # Set the line cap to be round - self.tw.sprite_list.set_cairo_context(self.canvas) self.cx = 0 self.cy = 0 self.fgrgb = [255, 0, 0] self.bgrgb = [255, 248, 222] self.textsize = 48 # deprecated - self.tw.active_turtle.show() self.shade = 0 self.pendown = False self.xcor = 0 @@ -151,8 +147,6 @@ class TurtleGraphics: self.svg.set_fill_color('none') self.tw.svg_string = '' - self.clearscreen(False) - def start_fill(self): """ Start accumulating points of a polygon to fill. """ self.fill = True @@ -216,6 +210,10 @@ class TurtleGraphics: self.setgray(100, share) self.setcolor(0, share) self.setshade(50, share) + self.tw.svg_string = '' + self.svg.reset_min_max() + self.fill = False + self.poly_points = [] for turtle_key in iter(self.tw.turtles.dict): # Don't reset remote turtles if not self.tw.remote_turtle(turtle_key): @@ -231,10 +229,6 @@ class TurtleGraphics: self.setpen(True, share) self.tw.active_turtle.hide() self.set_turtle(self.tw.default_turtle_name) - self.tw.svg_string = '' - self.svg.reset_min_max() - self.fill = False - self.poly_points = [] def forward(self, n, share=True): """ Move the turtle forward.""" diff --git a/TurtleArt/tawindow.py b/TurtleArt/tawindow.py index 395837e..2a0a80d 100644 --- a/TurtleArt/tawindow.py +++ b/TurtleArt/tawindow.py @@ -202,11 +202,14 @@ class TurtleArtWindow(): self.selector_shapes = [] self.selected_blk = None self.selected_spr = None + self.selected_turtle = None self.drag_group = None self.drag_turtle = 'move', 0, 0 self.drag_pos = 0, 0 self.turtle_movement_to_share = None - self.paste_offset = 20 + self.paste_offset = 20 # Don't paste on top of where you copied. + self.saving_svg = False + self.svg_string = '' self.block_list = Blocks(font_scale_factor=self.scale, decimal_point=self.decimal_point) @@ -215,6 +218,9 @@ class TurtleArtWindow(): else: self.sprite_list = None + self.canvas = TurtleGraphics(self, self.width, self.height) + self.sprite_list.set_cairo_context(self.canvas.canvas) + self.turtles = Turtles(self.sprite_list) if self.nick is None: self.default_turtle_name = DEFAULT_TURTLE @@ -225,11 +231,9 @@ class TurtleArtWindow(): else: Turtle(self.turtles, self.default_turtle_name, mycolors.split(',')) self.active_turtle = self.turtles.get_turtle(self.default_turtle_name) + self.active_turtle.show() - self.saving_svg = False - self.svg_string = '' - self.selected_turtle = None - self.canvas = TurtleGraphics(self, self.width, self.height) + self.canvas.clearscreen(False) CONSTANTS['titlex'] = int(-(self.canvas.width * TITLEXY[0]) / \ (self.coord_scale * 2)) -- cgit v0.9.1