UNPKG

snapsvg

Version:
62 lines (53 loc) 1.52 kB
/** * Defines the Flat Surface Shader namespace for all the awesomeness to exist upon. * @author Matthew Wagerfield */ FSS = { FRONT : 0, BACK : 1, DOUBLE : 2, SVGNS : 'http://www.w3.org/2000/svg' }; /** * @class Array * @author Matthew Wagerfield */ FSS.Array = typeof Float32Array === 'function' ? Float32Array : Array; /** * @class Utils * @author Matthew Wagerfield */ FSS.Utils = { isNumber: function(value) { return !isNaN(parseFloat(value)) && isFinite(value); } }; /** * Request Animation Frame Polyfill. * @author Paul Irish * @see https://gist.github.com/paulirish/1579671 */ (function() { var lastTime = 0; var vendors = ['ms', 'moz', 'webkit', 'o']; 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 currentTime = new Date().getTime(); var timeToCall = Math.max(0, 16 - (currentTime - lastTime)); var id = window.setTimeout(function() { callback(currentTime + timeToCall); }, timeToCall); lastTime = currentTime + timeToCall; return id; }; } if (!window.cancelAnimationFrame) { window.cancelAnimationFrame = function(id) { clearTimeout(id); }; } }());