# HG changeset patch # User Neil Muller # Date 1378113634 -7200 # Node ID a9b564c38befcf687ddf5656e9a079194b43caba # Parent ecba9550ad8dd81d61201bdd33a6a9d70c05b225 Support showing exterior filled view in the editor diff -r ecba9550ad8d -r a9b564c38bef tools/area_editor.py --- a/tools/area_editor.py Mon Sep 02 11:20:04 2013 +0200 +++ b/tools/area_editor.py Mon Sep 02 11:20:34 2013 +0200 @@ -76,9 +76,11 @@ if index in self.polygons and len(self.polygons[index]) > 0: self.polygons[index].pop() - def draw(self, surface, topleft, mouse_pos, mouse_poly): + def draw(self, surface, topleft, mouse_pos, mouse_poly, filled): self._draw_background(True) # Draw polygons as needed for the editor + if filled: + self._draw_exterior(True) for index, polygon in self.polygons.items(): color = POLY_COLORS[index] if len(polygon) > 1: @@ -101,6 +103,7 @@ self.pos = (0, 0) self.cur_poly = None self.mouse_pos = None + self.filled_mode = False def move_view(self, offset): new_pos = [self.pos[0] + offset[0], self.pos[1] + offset[1]] @@ -122,7 +125,7 @@ else: mouse_pos = None self.level.draw(self.surface, self.pos, mouse_pos, - self.cur_poly) + self.cur_poly, self.filled_mode) def _level_coordinates(self, pos): # Move positions to level values @@ -151,22 +154,34 @@ self.move_view((0, 10)) if ev.key == pgl.K_1: self.cur_poly = 1 + self.filled_mode = False if ev.key == pgl.K_2: self.cur_poly = 2 + self.filled_mode = False if ev.key == pgl.K_3: self.cur_poly = 3 + self.filled_mode = False if ev.key == pgl.K_4: self.cur_poly = 4 + self.filled_mode = False if ev.key == pgl.K_5: self.cur_poly = 5 + self.filled_mode = False if ev.key == pgl.K_6: self.cur_poly = 6 + self.filled_mode = False if ev.key == pgl.K_0: self.cur_poly = None if ev.key == pgl.K_d and self.cur_poly: self.level.delete_point(self.cur_poly) if ev.key == pgl.K_s: level.save() + if ev.key == pgl.K_f: + if level.all_closed(): + self.cur_poly = None + self.filled_mode = True + else: + print 'Not all polygons closed, so not filling' elif ev.type == pgl.MOUSEBUTTONDOWN and self.cur_poly: # Add a point self.level.add_point(self.cur_poly,