diff options
Diffstat (limited to 'src/library_glut.js')
-rw-r--r-- | src/library_glut.js | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/library_glut.js b/src/library_glut.js index 65ac10c4..445e08a4 100644 --- a/src/library_glut.js +++ b/src/library_glut.js @@ -22,6 +22,7 @@ var LibraryGLUT = { windowY: 0, windowWidth: 0, windowHeight: 0, + requestedAnimationFrame: false, saveModifiers: function(event) { GLUT.modifiers = 0; @@ -229,7 +230,7 @@ var LibraryGLUT = { // cross-browser wheel delta var e = window.event || event; // old IE support - var delta = Math.max(-1, Math.min(1, (e.wheelDelta || -e.detail))); + var delta = -Browser.getMouseWheelDelta(event); var button = 3; // wheel up if (delta < 0) { @@ -484,8 +485,10 @@ var LibraryGLUT = { glutSwapBuffers: function() {}, glutPostRedisplay: function() { - if (GLUT.displayFunc) { + if (GLUT.displayFunc && !GLUT.requestedAnimationFrame) { + GLUT.requestedAnimationFrame = true; Browser.requestAnimationFrame(function() { + GLUT.requestedAnimationFrame = false; if (ABORT) return; Runtime.dynCall('v', GLUT.displayFunc); }); |