Mercurial > projects > mde
diff mde/events.d @ 30:467c74d4804d
Major changes to the scheduler, previously only used by the main loop.
Revamped Scheduler. Functions can be removed, have multiple schedules, have their scheduling changed, etc.
Scheduler has a unittest. Checked all pass.
Main loop scheduler moved to mde. Draw-on-demand currently disabled, simplifying this.
Made mtunitest.d remove the temporary file it uses afterwards.
committer: Diggory Hardy <diggory.hardy@gmail.com>
author | Diggory Hardy <diggory.hardy@gmail.com> |
---|---|
date | Mon, 28 Apr 2008 10:59:47 +0100 |
parents | f985c28c0ec9 |
children | baa87e68d7dc |
line wrap: on
line diff
--- a/mde/events.d Sat Apr 12 14:10:13 2008 +0100 +++ b/mde/events.d Mon Apr 28 10:59:47 2008 +0100 @@ -17,16 +17,16 @@ module mde.events; import global = mde.global; -static import mde.SDL; +import sdl = mde.SDL; // resizeWindow import mde.input.input; import mde.input.exception; import mde.scheduler.InitFunctions; -import mde.scheduler.runTime; import derelict.sdl.events; +import tango.time.Time; import tango.util.log.Log : Log, Logger; private Logger logger; @@ -34,8 +34,6 @@ logger = Log.getLogger ("mde.events"); init.addFunc (&initInput, "initInput"); - - Scheduler.perFrame (&mde.events.pollEvents); } void initInput () { // init func @@ -54,7 +52,7 @@ } } -void pollEvents (double) { +void pollEvents (TimeSpan) { SDL_Event event; while (SDL_PollEvent (&event)) { switch (event.type) { @@ -63,13 +61,13 @@ global.run = false; break; case SDL_VIDEORESIZE: - mde.SDL.resizeWindow (event.resize.w, event.resize.h); - Scheduler.requestUpdate(RF_KEYS.DRAW); + sdl.resizeWindow (event.resize.w, event.resize.h); + //global.scheduler.request(global.SCHEDULE.DRAW); break; - case SDL_ACTIVEEVENT: + /+case SDL_ACTIVEEVENT: case SDL_VIDEOEXPOSE: - Scheduler.requestUpdate(RF_KEYS.DRAW); - break; + //global.scheduler.request(global.SCHEDULE.DRAW); + break;+/ default: try { global.input (event);