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 }