[EMSCRIPTEN] chrome fixes

This commit is contained in:
ToadKing 2013-09-10 22:48:24 -04:00
parent b874f003ff
commit e6389f9919
2 changed files with 18 additions and 18 deletions

View File

@ -1,7 +1,7 @@
//"use strict";
var LibraryRWebAudio = {
$RA__deps: ['$Browser'],
$RA__deps: ['$Browser', 'usleep'],
$RA: {
BUFFER_SIZE: 256,
@ -12,17 +12,24 @@ var LibraryRWebAudio = {
bufOffset: 0,
startTime: 0,
nonblock: false,
currentTimeWorkaround: false,
setStartTime: function() {
if (RA.context.currentTime) {
RA.startTime = window['performance']['now']() - RA.context.currentTime * 1000;
if (RA.startTime === 0) throw 'startTime is 0';
var time1 = RA.context.currentTime;
_usleep(50);
if (time1 === RA.context.currentTime) {
RA.currentTimeWorkaround = true;
if (RA.startTime === 0) throw 'startTime is 0';
}
Module["resumeMainLoop"]();
} else window['setTimeout'](RA.setStartTime, 0);
},
getCurrentPerfTime: function() {
if (RA.startTime) return (window['performance']['now']() - RA.startTime) / 1000;
if (!RA.currentTimeWorkaround) return RA.context.currentTime;
else if (RA.startTime) return (window['performance']['now']() - RA.startTime) / 1000;
else throw 'getCurrentPerfTime() called before start time set';
},

View File

@ -23,22 +23,17 @@ var LibraryRWebInput = {
break;
case 'mouseup':
case 'mousedown':
var l, r;
if (event.buttons & 1) l = 1;
else l = 0;
if (event.buttons & 2) r = 1;
else r = 0;
var value;
var offset;
if (event.button === 0) offset = 40;
else if (event.button === 2) offset = 41;
else break;
if (event.type === 'mouseup') value = 0;
else value = 1;
for (i = 0; i < RI.contexts.length; i++) {
{{{ makeSetValue('RI.contexts[i].state', '40', 'l', 'i8') }}};
{{{ makeSetValue('RI.contexts[i].state', '41', 'r', 'i8') }}};
{{{ makeSetValue('RI.contexts[i].state', 'offset', 'value', 'i8') }}};
}
break;
case 'click':
e.preventDefault();
break;
case 'keyup':
case 'keydown':
var key = event.keyCode;
@ -70,7 +65,6 @@ var LibraryRWebInput = {
document.addEventListener('mousemove', RI.eventHandler, false);
document.addEventListener('mouseup', RI.eventHandler, false);
document.addEventListener('mousedown', RI.eventHandler, false);
document.addEventListener('click', RI.eventHandler, false);
document.addEventListener('blur', RI.eventHandler, false);
document.addEventListener('onvisbilitychange', RI.eventHandler, false);
}
@ -103,7 +97,6 @@ var LibraryRWebInput = {
document.removeEventListener('mousemove', RI.eventHandler, false);
document.removeEventListener('mouseup', RI.eventHandler, false);
document.removeEventListener('mousedown', RI.eventHandler, false);
document.removeEventListener('click', RI.eventHandler, false);
document.removeEventListener('blur', RI.eventHandler, false);
document.removeEventListener('onvisbilitychange', RI.eventHandler, false);
}