v86/src/node/node_modules/node-sdl/sdl.js
2013-11-06 01:12:55 +01:00

26 lines
670 B
JavaScript
Executable file

var SDL = module.exports = require('./build/Release/nodesdl.node');
// Easy event emitter based event loop. Started automatically when the first
// listener is added.
var events;
Object.defineProperty(SDL, 'events', {
get: function () {
if (events) return events;
events = new (require('events').EventEmitter);
var now = Date.now();
setInterval(function () {
var after = Date.now();
var delta = after - now;
now = after;
var data;
while (data = SDL.pollEvent()) {
events.emit('event', data);
events.emit(data.type, data);
}
events.emit('tick', delta);
}, 16);
return events;
}
});