blob: 558530441703d8d2258a5d98698b9225c09dc03a [file] [log] [blame] [raw]
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;
}
});