summaryrefslogtreecommitdiff
path: root/share/frontend/imlandscape/js/RequestAnimationFrame.js
diff options
context:
space:
mode:
Diffstat (limited to 'share/frontend/imlandscape/js/RequestAnimationFrame.js')
-rw-r--r--share/frontend/imlandscape/js/RequestAnimationFrame.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/share/frontend/imlandscape/js/RequestAnimationFrame.js b/share/frontend/imlandscape/js/RequestAnimationFrame.js
new file mode 100644
index 0000000..b1940ae
--- /dev/null
+++ b/share/frontend/imlandscape/js/RequestAnimationFrame.js
@@ -0,0 +1,24 @@
+(function() {
+ var lastTime = 0;
+ var vendors = ['webkit', 'moz'];
+ for(var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {
+ window.requestAnimationFrame = window[vendors[x]+'RequestAnimationFrame'];
+ window.cancelAnimationFrame =
+ window[vendors[x]+'CancelAnimationFrame'] || window[vendors[x]+'CancelRequestAnimationFrame'];
+ }
+
+ if (!window.requestAnimationFrame)
+ window.requestAnimationFrame = function(callback, element) {
+ var currTime = new Date().getTime();
+ var timeToCall = Math.max(0, 16 - (currTime - lastTime));
+ var id = window.setTimeout(function() { callback(currTime + timeToCall); },
+ timeToCall);
+ lastTime = currTime + timeToCall;
+ return id;
+ };
+
+ if (!window.cancelAnimationFrame)
+ window.cancelAnimationFrame = function(id) {
+ clearTimeout(id);
+ };
+}());