-from pygame.locals import USEREVENT
-TIMEOUT = USEREVENT + 1
-NOTEON = USEREVENT + 2
-NOTEOFF = USEREVENT + 3
-NOTEEND = USEREVENT + 4
-COLDOWN = USEREVENT + 5
-COLUP = USEREVENT + 6
-COLOVER = USEREVENT + 7
\ No newline at end of file
+import pygame
+from sys import modules
+
+events = ['TIMEOUT', 'NOTEON', 'NOTEOFF', 'NOTEEND', 'COLDOWN', 'COLUP', 'COLOVER']
+eventNames = {}
+self = modules[__name__]
+
+for i, name in enumerate(events) :
+ eventType = pygame.USEREVENT+i
+ eventNames[eventType] = name
+ setattr(self, name, eventType)
+
+pygame_events = [
+ 'NOEVENT',
+ 'ACTIVEEVENT',
+ 'KEYDOWN',
+ 'KEYUP',
+ 'MOUSEMOTION',
+ 'MOUSEBUTTONDOWN',
+ 'MOUSEBUTTONUP',
+ 'JOYAXISMOTION',
+ 'JOYBALLMOTION',
+ 'JOYHATMOTION',
+ 'JOYBUTTONDOWN',
+ 'JOYBUTTONUP',
+ 'VIDEORESIZE',
+ 'VIDEOEXPOSE',
+ 'QUIT',
+ 'SYSWMEVENT',
+ 'USEREVENT',
+ 'NUMEVENTS'
+ ]
+
+for name in pygame_events :
+ eventNames[getattr(pygame, name)] = name
from StringIO import StringIO
from logging import getLogger, basicConfig, DEBUG
import sys
+from events import TIMEOUT, COLOVER, eventNames
basicConfig(level=DEBUG, stream = sys.stdout)
-console = getLogger('minwii.eventutils')
+console = getLogger('minwii')
+eventLog = getLogger('minwii.events')
+
+hiddenEvents = {pygame.MOUSEMOTION:True,
+ TIMEOUT:True,
+ COLOVER:True,}
class _EventDispatcher :
def __init__(self) :
events = pygame.event.get()
for event in events :
listeners = self.registry.get(event.type, {})
+ if listeners and not hiddenEvents.has_key(event.type) :
+ eventLog.info((eventNames.get(event.type, event.type), event))
for listener in listeners.keys() :
listener(event)
class EventHandlerMixin(object) :
__metaclass__ = EventInitializer
-
- #def input(self) :
- # event = pygame.event.wait()
- # handler = getattr(self, 'eventHandler%s' % event.type, lambda e:None)
- # handler(event)