comparison tools/rect_drawer.py @ 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 df57386908c0
children d78ce15bccc8
comparison
equal deleted inserted replaced
267:024e8ab4b785 268:e4ea9def56b2
84 w, h = self.state.current_detail.get_detail_size() 84 w, h = self.state.current_detail.get_detail_size()
85 rect = pygame.rect.Rect(0, 0, w, h) 85 rect = pygame.rect.Rect(0, 0, w, h)
86 self.close_button.rect.midbottom = rect.midbottom 86 self.close_button.rect.midbottom = rect.midbottom
87 self.add(self.close_button) 87 self.add(self.close_button)
88 88
89 self.draw_rects = True
90 self.draw_things = True
91 self.draw_images = True
92
93 def toggle_things(self):
94 self.draw_things = not self.draw_things
95
96 def toggle_images(self):
97 self.draw_images = not self.draw_images
98
99 def toggle_rects(self):
100 self.draw_rects = not self.draw_rects
101
102
89 def draw_mode(self): 103 def draw_mode(self):
90 self.mode = 'draw' 104 self.mode = 'draw'
91 105
92 def del_mode(self): 106 def del_mode(self):
93 self.mode = 'del' 107 self.mode = 'del'
94 self.start_pos = None 108 self.start_pos = None
95 self.end_pos = None 109 self.end_pos = None
96 110
97 def draw(self, surface): 111 def draw(self, surface):
98 if self.state.current_detail: 112 if self.state.current_detail:
99 self.state.draw_detail(surface, None) 113 if self.draw_things:
114 self.state.draw_detail(surface, None)
115 else:
116 self.state.current_detail.draw_background(surface)
100 else: 117 else:
101 self.state.draw(surface, None) 118 if self.draw_things:
102 if self.mode == 'draw' and self.start_pos: 119 self.state.draw(surface, None)
120 else:
121 self.state.current_scene.draw_background(surface)
122 if self.mode == 'draw' and self.start_pos and self.draw_rects:
103 rect = pygame.rect.Rect(self.start_pos[0], self.start_pos[1], 123 rect = pygame.rect.Rect(self.start_pos[0], self.start_pos[1],
104 self.end_pos[0] - self.start_pos[0], 124 self.end_pos[0] - self.start_pos[0],
105 self.end_pos[1] - self.start_pos[1]) 125 self.end_pos[1] - self.start_pos[1])
106 frame_rect(surface, self.draw_color, rect, self.draw_thick) 126 frame_rect(surface, self.draw_color, rect, self.draw_thick)
107 for (col, rect) in self.rects: 127 if self.draw_rects:
108 frame_rect(surface, col, rect, self.rect_thick) 128 for (col, rect) in self.rects:
109 for image in self.images: 129 frame_rect(surface, col, rect, self.rect_thick)
110 if image.rect.colliderect(surface.get_rect()): 130 if self.draw_images:
111 cropped_rect = image.rect.clip(surface.get_rect()) 131 for image in self.images:
112 sub = surface.subsurface(cropped_rect) 132 if image.rect.colliderect(surface.get_rect()):
113 image.draw(sub) 133 cropped_rect = image.rect.clip(surface.get_rect())
114 else: 134 sub = surface.subsurface(cropped_rect)
115 print 'image outside surface', image 135 image.draw(sub)
116 if self.current_image and self.mode == 'image': 136 else:
117 if self.current_image.rect.colliderect(surface.get_rect()): 137 print 'image outside surface', image
118 cropped_rect = self.current_image.rect.clip(surface.get_rect()) 138 if self.current_image and self.mode == 'image':
119 sub = surface.subsurface(cropped_rect) 139 if self.current_image.rect.colliderect(surface.get_rect()):
120 self.current_image.draw(sub) 140 cropped_rect = self.current_image.rect.clip(surface.get_rect())
141 sub = surface.subsurface(cropped_rect)
142 self.current_image.draw(sub)
121 143
122 def _make_dict(self): 144 def _make_dict(self):
123 d = {} 145 d = {}
124 for col, rect in self.rects: 146 for col, rect in self.rects:
125 col = (col.r, col.g, col.b) 147 col = (col.r, col.g, col.b)
263 palette = AppPalette(image) 285 palette = AppPalette(image)
264 palette.rect.move_ip(810, 160) 286 palette.rect.move_ip(810, 160)
265 app.add(palette) 287 app.add(palette)
266 print_rects = make_button("Print objects", image.print_objs, 320) 288 print_rects = make_button("Print objects", image.print_objs, 320)
267 app.add(print_rects) 289 app.add(print_rects)
290 toggle_things = make_button("Toggle Things", image.toggle_things, 360)
291 app.add(toggle_things)
292 toggle_images = make_button("Toggle Images", image.toggle_images, 400)
293 app.add(toggle_images)
294 toggle_rects = make_button("Toggle Rects", image.toggle_rects, 440)
295 app.add(toggle_rects)
268 quit_but = make_button("Quit", app.quit, 560) 296 quit_but = make_button("Quit", app.quit, 560)
269 app.add(quit_but) 297 app.add(quit_but)
270 app.run() 298 app.run()