Mercurial > projects > mde
comparison mde/events.d @ 132:264028f4115a
Cleaned up mde.imde and a couple of widget functions.
New mde.menus module to add default menus.
The input singleton is now created in mde.input.Input instead of mde.imde.
author | Diggory Hardy <diggory.hardy@gmail.com> |
---|---|
date | Fri, 23 Jan 2009 14:59:05 +0000 |
parents | 9824bee909fd |
children | a86f8445ccc8 |
comparison
equal
deleted
inserted
replaced
131:9cff74f68b84 | 132:264028f4115a |
---|---|
26 import derelict.sdl.events; | 26 import derelict.sdl.events; |
27 import tango.time.Time; | 27 import tango.time.Time; |
28 import tango.util.log.Log : Log, Logger; | 28 import tango.util.log.Log : Log, Logger; |
29 | 29 |
30 private Logger logger; | 30 private Logger logger; |
31 private Input input; | |
31 static this() { | 32 static this() { |
32 logger = Log.getLogger ("mde.events"); | 33 logger = Log.getLogger ("mde.events"); |
34 input = Input.singleton; | |
33 } | 35 } |
34 | 36 |
35 void pollEvents (TimeSpan) { | 37 void pollEvents (TimeSpan) { |
36 SDL_Event event; | 38 SDL_Event event; |
37 while (SDL_PollEvent (&event)) { | 39 while (SDL_PollEvent (&event)) { |
38 switch (event.type) { | 40 switch (event.type) { |
39 case SDL_QUIT: | 41 case SDL_QUIT: |
40 logger.info ("Quit requested"); | 42 debug logger.trace ("Quit (from SDL_QUIT event)"); |
41 imde.run = false; | 43 imde.run = false; |
42 break; | 44 break; |
43 case SDL_VIDEORESIZE: | 45 case SDL_VIDEORESIZE: |
44 Screen.resizeEvent (event.resize.w, event.resize.h); | 46 Screen.resizeEvent (event.resize.w, event.resize.h); |
45 imde.mainSchedule.request(imde.SCHEDULE.DRAW); | 47 imde.mainSchedule.request(imde.SCHEDULE.DRAW); |
48 case SDL_VIDEOEXPOSE: | 50 case SDL_VIDEOEXPOSE: |
49 imde.mainSchedule.request(imde.SCHEDULE.DRAW); | 51 imde.mainSchedule.request(imde.SCHEDULE.DRAW); |
50 break; | 52 break; |
51 default: | 53 default: |
52 try { | 54 try { |
53 if (!imde.input (event)) | 55 if (!input.send (event)) |
54 logger.warn ("Unrecognised event with code {}", event.type); | 56 logger.info ("Unrecognised event with code {}", event.type); |
55 } catch (Exception e) { | 57 } catch (Exception e) { |
56 logger.error ("Caught input exception; event will be ignored. Exception was:"); | 58 logger.error ("Caught input exception; event will be ignored. Exception was:"); |
57 logger.error (e.msg); | 59 logger.error (e.msg); |
58 } | 60 } |
59 } | 61 } |