2013-08-28 06:02:55 +00:00
|
|
|
// http://paulirish.com/2011/requestanimationframe-for-smart-animating/
|
|
|
|
// http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating
|
|
|
|
|
|
|
|
// requestAnimationFrame polyfill by Erik Möller. fixes from Paul Irish and Tino Zijdel
|
|
|
|
|
|
|
|
// MIT license
|
|
|
|
|
|
|
|
/**
|
|
|
|
* A polyfill for requestAnimationFrame
|
|
|
|
*
|
|
|
|
* @method requestAnimationFrame
|
|
|
|
*/
|
|
|
|
/**
|
|
|
|
* A polyfill for cancelAnimationFrame
|
|
|
|
*
|
|
|
|
* @method cancelAnimationFrame
|
|
|
|
*/
|
|
|
|
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'];
|
2013-11-06 04:51:23 +00:00
|
|
|
window.cancelAnimationFrame = window[vendors[x]+'CancelAnimationFrame']
|
2013-08-28 06:02:55 +00:00
|
|
|
|| 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));
|
2013-11-06 04:51:23 +00:00
|
|
|
var id = window.setTimeout(function() { callback(currTime + timeToCall); },
|
2013-08-28 06:02:55 +00:00
|
|
|
timeToCall);
|
|
|
|
lastTime = currTime + timeToCall;
|
|
|
|
return id;
|
|
|
|
};
|
|
|
|
|
|
|
|
if (!window.cancelAnimationFrame)
|
|
|
|
window.cancelAnimationFrame = function(id) {
|
|
|
|
clearTimeout(id);
|
|
|
|
};
|
|
|
|
|
|
|
|
window.requestAnimFrame = window.requestAnimationFrame;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Converts a hex color number to an [R, G, B] array
|
|
|
|
*
|
|
|
|
* @method HEXtoRGB
|
2013-11-06 04:51:23 +00:00
|
|
|
* @param hex {Number}
|
2013-08-28 06:02:55 +00:00
|
|
|
*/
|
|
|
|
function HEXtoRGB(hex) {
|
|
|
|
return [(hex >> 16 & 0xFF) / 255, ( hex >> 8 & 0xFF) / 255, (hex & 0xFF)/ 255];
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* A polyfill for Function.prototype.bind
|
|
|
|
*
|
|
|
|
* @method bind
|
|
|
|
*/
|
|
|
|
if (typeof Function.prototype.bind != 'function') {
|
|
|
|
Function.prototype.bind = (function () {
|
|
|
|
var slice = Array.prototype.slice;
|
|
|
|
return function (thisArg) {
|
|
|
|
var target = this, boundArgs = slice.call(arguments, 1);
|
2013-11-06 04:51:23 +00:00
|
|
|
|
2013-08-28 06:02:55 +00:00
|
|
|
if (typeof target != 'function') throw new TypeError();
|
2013-11-06 04:51:23 +00:00
|
|
|
|
2013-08-28 06:02:55 +00:00
|
|
|
function bound() {
|
|
|
|
var args = boundArgs.concat(slice.call(arguments));
|
|
|
|
target.apply(this instanceof bound ? this : thisArg, args);
|
|
|
|
}
|
2013-11-06 04:51:23 +00:00
|
|
|
|
2013-08-28 06:02:55 +00:00
|
|
|
bound.prototype = (function F(proto) {
|
|
|
|
proto && (F.prototype = proto);
|
2013-11-06 04:51:23 +00:00
|
|
|
if (!(this instanceof F)) return new F;
|
2013-08-28 06:02:55 +00:00
|
|
|
})(target.prototype);
|
2013-11-06 04:51:23 +00:00
|
|
|
|
2013-08-28 06:02:55 +00:00
|
|
|
return bound;
|
|
|
|
};
|
|
|
|
})();
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* A wrapper for ajax requests to be handled cross browser
|
|
|
|
*
|
|
|
|
* @class AjaxRequest
|
|
|
|
* @constructor
|
|
|
|
*/
|
|
|
|
var AjaxRequest = PIXI.AjaxRequest = function()
|
|
|
|
{
|
2013-11-06 04:51:23 +00:00
|
|
|
var activexmodes = ["Msxml2.XMLHTTP.6.0", "Msxml2.XMLHTTP.3.0", "Microsoft.XMLHTTP"] //activeX versions to check for in IE
|
|
|
|
|
2013-08-28 06:02:55 +00:00
|
|
|
if (window.ActiveXObject)
|
|
|
|
{ //Test for support for ActiveXObject in IE first (as XMLHttpRequest in IE7 is broken)
|
|
|
|
for (var i=0; i<activexmodes.length; i++)
|
|
|
|
{
|
|
|
|
try{
|
|
|
|
return new ActiveXObject(activexmodes[i])
|
|
|
|
}
|
|
|
|
catch(e){
|
|
|
|
//suppress error
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (window.XMLHttpRequest) // if Mozilla, Safari etc
|
|
|
|
{
|
|
|
|
return new XMLHttpRequest()
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* DEBUGGING ONLY
|
|
|
|
*/
|
|
|
|
PIXI.runList = function(item)
|
|
|
|
{
|
|
|
|
console.log(">>>>>>>>>")
|
|
|
|
console.log("_")
|
|
|
|
var safe = 0;
|
|
|
|
var tmp = item.first;
|
|
|
|
console.log(tmp);
|
2013-11-06 04:51:23 +00:00
|
|
|
|
2013-08-28 06:02:55 +00:00
|
|
|
while(tmp._iNext)
|
|
|
|
{
|
|
|
|
safe++;
|
|
|
|
tmp = tmp._iNext;
|
|
|
|
console.log(tmp);
|
|
|
|
// console.log(tmp);
|
2013-11-06 04:51:23 +00:00
|
|
|
|
2013-08-28 06:02:55 +00:00
|
|
|
if(safe > 100)
|
|
|
|
{
|
|
|
|
console.log("BREAK")
|
|
|
|
break
|
|
|
|
}
|
2013-11-06 04:51:23 +00:00
|
|
|
}
|
2013-08-28 06:02:55 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|