"""
import os.path
import pygame
-from eventutils import event_handler, EventDispatcher, EventHandlerMixin
+from minwii.eventutils import event_handler, EventDispatcher, EventHandlerMixin
+from minwii.config import FRAMERATE
+from minwii.config import INSTRUMENTS
+from minwii.globals import BACKGROUND_LAYER
+from minwii.globals import FOREGROUND_LAYER
+from minwii.globals import CURSOR_LAYER
+from minwii.globals import hls_to_rgba_8bits
from cursors import WarpingCursor
-from config import FRAMERATE
-from config import INSTRUMENTS
-from globals import BACKGROUND_LAYER
-from globals import FOREGROUND_LAYER
-from globals import CURSOR_LAYER
-from globals import hls_to_rgba_8bits
class InstrumentSelector(pygame.sprite.LayeredDirty, EventHandlerMixin) :
pygame.display.flip()
pygame.mouse.set_visible(False)
while self._running :
- EventDispatcher.dispatchEvents()
- dirty = self.draw(pygame.display.get_surface())
- pygame.display.update(dirty)
- clock.tick(FRAMERATE)
+ try :
+ EventDispatcher.dispatchEvents()
+ dirty = self.draw(pygame.display.get_surface())
+ pygame.display.update(dirty)
+ clock.tick(FRAMERATE)
+ except KeyboardInterrupt :
+ self.stop()
+ raise
def stop(self) :
self._running = False
@event_handler(pygame.KEYDOWN)
def handleKeyDown(self, event) :
- if event.key == pygame.K_q:
+ if event.key in (pygame.K_q, pygame.K_ESCAPE) or \
+ event.unicode == u'q' :
self.stop()
@event_handler(pygame.MOUSEMOTION)