Mercurial > boomslang
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() |