# HG changeset patch # User Neil Muller # Date 1329125792 -7200 # Node ID 48f68ae7d454c319bba714169c954f7be2239bf7 # Parent 32e554adf538ea266ed6f95940f328b0349b8962 Throw out more old stuff. Fix animation support diff -r 32e554adf538 -r 48f68ae7d454 pyntnclick/tools/rect_drawer.py --- a/pyntnclick/tools/rect_drawer.py Mon Feb 13 11:27:16 2012 +0200 +++ b/pyntnclick/tools/rect_drawer.py Mon Feb 13 11:36:32 2012 +0200 @@ -1,18 +1,9 @@ # Quickly hacked together helper for working out # interactive regions in Suspended Sentence -# XXX: Threw away albow -#from albow.utils import frame_rect -#from albow.widget import Widget -#from albow.controls import Button, Image -#from albow.palette_view import PaletteView -#from albow.file_dialogs import request_old_filename -#from albow.resource import get_font frame_rect = None -Button = object Image = object request_old_filename = None -get_font = None from pygame.locals import (K_LEFT, K_RIGHT, K_UP, K_DOWN, K_a, K_t, K_d, K_i, K_r, K_o, K_b, K_z, @@ -519,8 +510,7 @@ def animate(self): if self.draw_anim: - if self.state.animate(): - self.invalidate() + self.state.animate() class ModeLabel(LabelWidget): @@ -552,6 +542,14 @@ super(RectApp, self).__init__(rect, gd) state = gd.initial_state() + gd.sound.disable_sound() # No sound here + + # Handle any setup that needs to happen + # We start in leave, so do this twice + # FIXME: Screen parameter to check_enter_leave + # should go away + state.check_enter_leave(None) + state.check_enter_leave(None) self.image = AppImage(gd, state) self.add(self.image) @@ -622,6 +620,9 @@ def quit(self, ev, widget): pygame.event.post(pygame.event.Event(QUIT)) + def animate(self): + self.image.animate() + class RectEngine(object): """Engine for the rect drawer.""" @@ -642,38 +643,13 @@ return else: self.app.event(ev) + self.app.animate() surface = pygame.display.get_surface() self.app.draw(surface) pygame.display.flip() clock.tick(self._gd.constants.frame_rate) -class RectAppOld(object): - """Handle the app stuff for the rect drawer""" - - def __init__(self, display, get_initial_state, scene, detail): - super(RectApp, self).__init__(display) - pygame.key.set_repeat(200, 100) - state = get_initial_state() - state.set_current_scene(scene) - state.set_current_detail(detail) - state.do_check = None - - self.set_timer(constants.frame_rate) - - def key_down(self, event): - # Dispatch to image widget - self.image.key_down(event) - - def mouse_delta(self, event): - # We propogate mouse move from here to draw region, so images move - # off-screen - self.image.do_mouse_move(event) - - def begin_frame(self): - self.image.animate() - - def make_rect_display(): pygame.display.init() pygame.font.init()