changeset 268:e4ea9def56b2

Add some toggle options to helper script
author Neil Muller <neil@dip.sun.ac.za>
date Fri, 27 Aug 2010 20:30:57 +0200
parents 024e8ab4b785
children 95e4021e9959
files tools/rect_drawer.py
diffstat 1 files changed, 45 insertions(+), 17 deletions(-) [+]
line wrap: on
line diff
--- a/tools/rect_drawer.py	Fri Aug 27 20:14:51 2010 +0200
+++ b/tools/rect_drawer.py	Fri Aug 27 20:30:57 2010 +0200
@@ -86,6 +86,20 @@
             self.close_button.rect.midbottom = rect.midbottom
             self.add(self.close_button)
 
+        self.draw_rects = True
+        self.draw_things = True
+        self.draw_images = True
+
+    def toggle_things(self):
+        self.draw_things = not self.draw_things
+
+    def toggle_images(self):
+        self.draw_images = not self.draw_images
+
+    def toggle_rects(self):
+        self.draw_rects = not self.draw_rects
+
+
     def draw_mode(self):
         self.mode = 'draw'
 
@@ -96,28 +110,36 @@
 
     def draw(self, surface):
         if self.state.current_detail:
-            self.state.draw_detail(surface, None)
+            if self.draw_things:
+                self.state.draw_detail(surface, None)
+            else:
+                self.state.current_detail.draw_background(surface)
         else:
-            self.state.draw(surface, None)
-        if self.mode == 'draw' and self.start_pos:
+            if self.draw_things:
+                self.state.draw(surface, None)
+            else:
+                self.state.current_scene.draw_background(surface)
+        if self.mode == 'draw' and self.start_pos and self.draw_rects:
             rect = pygame.rect.Rect(self.start_pos[0], self.start_pos[1],
                     self.end_pos[0] - self.start_pos[0],
                     self.end_pos[1] - self.start_pos[1])
             frame_rect(surface, self.draw_color, rect, self.draw_thick)
-        for (col, rect) in self.rects:
-            frame_rect(surface, col, rect, self.rect_thick)
-        for image in self.images:
-            if image.rect.colliderect(surface.get_rect()):
-                cropped_rect = image.rect.clip(surface.get_rect())
-                sub = surface.subsurface(cropped_rect)
-                image.draw(sub)
-            else:
-                print 'image outside surface', image
-        if self.current_image and self.mode == 'image':
-            if self.current_image.rect.colliderect(surface.get_rect()):
-                cropped_rect = self.current_image.rect.clip(surface.get_rect())
-                sub = surface.subsurface(cropped_rect)
-                self.current_image.draw(sub)
+        if self.draw_rects:
+            for (col, rect) in self.rects:
+                frame_rect(surface, col, rect, self.rect_thick)
+        if self.draw_images:
+            for image in self.images:
+                if image.rect.colliderect(surface.get_rect()):
+                    cropped_rect = image.rect.clip(surface.get_rect())
+                    sub = surface.subsurface(cropped_rect)
+                    image.draw(sub)
+                else:
+                    print 'image outside surface', image
+            if self.current_image and self.mode == 'image':
+                if self.current_image.rect.colliderect(surface.get_rect()):
+                    cropped_rect = self.current_image.rect.clip(surface.get_rect())
+                    sub = surface.subsurface(cropped_rect)
+                    self.current_image.draw(sub)
 
     def _make_dict(self):
         d = {}
@@ -265,6 +287,12 @@
     app.add(palette)
     print_rects = make_button("Print objects", image.print_objs, 320)
     app.add(print_rects)
+    toggle_things = make_button("Toggle Things", image.toggle_things, 360)
+    app.add(toggle_things)
+    toggle_images = make_button("Toggle Images", image.toggle_images, 400)
+    app.add(toggle_images)
+    toggle_rects = make_button("Toggle Rects", image.toggle_rects, 440)
+    app.add(toggle_rects)
     quit_but = make_button("Quit", app.quit, 560)
     app.add(quit_but)
     app.run()