diff --git a/bin/pixi.dev.js b/bin/pixi.dev.js index 7a077d4..bb7c6c0 100644 --- a/bin/pixi.dev.js +++ b/bin/pixi.dev.js @@ -4,7 +4,7 @@ * Copyright (c) 2012, Mat Groves * http://goodboydigital.com/ * - * Compiled: 2013-07-01 + * Compiled: 2013-07-02 * * Pixi.JS is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license.php @@ -180,7 +180,7 @@ PIXI.Polygon = function(points) * @method clone * @return a copy of the polygon */ -PIXI.Polygon.clone = function() +PIXI.Polygon.prototype.clone = function() { var points = []; for (var i=0; i>16)/255,(255&t>>8)/255,(255&t)/255]}function e(t){return[(255&t>>16)/255,(255&t>>8)/255,(255&t)/255]}var i=this,n=n||{};n.Point=function(t,e){this.x=t||0,this.y=e||0},n.Point.prototype.clone=function(){return new n.Point(this.x,this.y)},n.Point.constructor=n.Point,n.Rectangle=function(t,e,i,r){this.x=t||0,this.y=e||0,this.width=i||0,this.height=r||0},n.Rectangle.prototype.clone=function(){return new n.Rectangle(this.x,this.y,this.width,this.height)},n.Rectangle.prototype.contains=function(t,e){if(0>=this.width||0>=this.height)return!1;var i=this.x;if(t>i&&i+this.width>t){var r=this.y;if(e>r&&r+this.height>e)return!0}return!1},n.Rectangle.constructor=n.Rectangle,n.Polygon=function(t){if("number"==typeof t[0]){for(var e=[],i=0,r=t.length;r>i;i+=2)e.push(new n.Point(t[i],t[i+1]));t=e}this.points=t},n.Polygon.clone=function(){for(var t=[],e=0;this.points.length>e;e++)t.push(this.points[e].clone());return new n.Polygon(t)},n.Polygon.contains=function(t,e){for(var i=!1,r=0,n=this.points.length-1;this.points.length>r;n=r++){var s=this.points[r].x,a=this.points[r].y,o=this.points[n].x,h=this.points[n].y,l=a>e!=h>e&&(o-s)*(e-a)/(h-a)+s>t;l&&(i=!i)}return i},n.Polygon.constructor=n.Polygon,n.Circle=function(t,e,i){this.x=t||0,this.y=e||0,this.radius=i||0},n.Circle.clone=function(){return new n.Circle(this.x,this.y,this.radius)},n.Circle.contains=function(t,e){if(0>=this.radius)return!1;var i=this.x-t,r=this.y-e,n=this.radius*this.radius;return i*=i,r*=r,n>=i+r},n.Circle.constructor=n.Circle,n.Ellipse=function(t,e,i,r){this.x=t||0,this.y=e||0,this.width=i||0,this.height=r||0},n.Ellipse.clone=function(){return new n.Ellipse(this.x,this.y,this.width,this.height)},n.Ellipse.contains=function(t,e){if(0>=this.width||0>=this.height)return!1;var i=(t-this.x)/this.width-.5,r=(e-this.y)/this.height-.5;return i*=i,r*=r,.25>i+r},n.Ellipse.getBounds=function(){return new n.Rectangle(this.x,this.y,this.width,this.height)},n.Ellipse.constructor=n.Ellipse,t(),n.mat3={},n.mat3.create=function(){var t=new n.Matrix(9);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},n.mat4={},n.mat4.create=function(){var t=new n.Matrix(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},n.mat3.multiply=function(t,e,i){i||(i=t);var r=t[0],n=t[1],s=t[2],a=t[3],o=t[4],h=t[5],l=t[6],u=t[7],c=t[8],d=e[0],p=e[1],f=e[2],v=e[3],g=e[4],m=e[5],x=e[6],b=e[7],y=e[8];return i[0]=d*r+p*a+f*l,i[1]=d*n+p*o+f*u,i[2]=d*s+p*h+f*c,i[3]=v*r+g*a+m*l,i[4]=v*n+g*o+m*u,i[5]=v*s+g*h+m*c,i[6]=x*r+b*a+y*l,i[7]=x*n+b*o+y*u,i[8]=x*s+b*h+y*c,i},n.mat3.clone=function(t){var e=new n.Matrix(9);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e},n.mat3.transpose=function(t,e){if(!e||t===e){var i=t[1],r=t[2],n=t[5];return t[1]=t[3],t[2]=t[6],t[3]=i,t[5]=t[7],t[6]=r,t[7]=n,t}return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],e},n.mat3.toMat4=function(t,e){return e||(e=n.mat4.create()),e[15]=1,e[14]=0,e[13]=0,e[12]=0,e[11]=0,e[10]=t[8],e[9]=t[7],e[8]=t[6],e[7]=0,e[6]=t[5],e[5]=t[4],e[4]=t[3],e[3]=0,e[2]=t[2],e[1]=t[1],e[0]=t[0],e},n.mat4.create=function(){var t=new n.Matrix(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},n.mat4.transpose=function(t,e){if(!e||t===e){var i=t[1],r=t[2],n=t[3],s=t[6],a=t[7],o=t[11];return t[1]=t[4],t[2]=t[8],t[3]=t[12],t[4]=i,t[6]=t[9],t[7]=t[13],t[8]=r,t[9]=s,t[11]=t[14],t[12]=n,t[13]=a,t[14]=o,t}return e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15],e},n.mat4.multiply=function(t,e,i){i||(i=t);var r=t[0],n=t[1],s=t[2],a=t[3],o=t[4],h=t[5],l=t[6],u=t[7],c=t[8],d=t[9],p=t[10],f=t[11],v=t[12],g=t[13],m=t[14],x=t[15],b=e[0],y=e[1],T=e[2],_=e[3];return i[0]=b*r+y*o+T*c+_*v,i[1]=b*n+y*h+T*d+_*g,i[2]=b*s+y*l+T*p+_*m,i[3]=b*a+y*u+T*f+_*x,b=e[4],y=e[5],T=e[6],_=e[7],i[4]=b*r+y*o+T*c+_*v,i[5]=b*n+y*h+T*d+_*g,i[6]=b*s+y*l+T*p+_*m,i[7]=b*a+y*u+T*f+_*x,b=e[8],y=e[9],T=e[10],_=e[11],i[8]=b*r+y*o+T*c+_*v,i[9]=b*n+y*h+T*d+_*g,i[10]=b*s+y*l+T*p+_*m,i[11]=b*a+y*u+T*f+_*x,b=e[12],y=e[13],T=e[14],_=e[15],i[12]=b*r+y*o+T*c+_*v,i[13]=b*n+y*h+T*d+_*g,i[14]=b*s+y*l+T*p+_*m,i[15]=b*a+y*u+T*f+_*x,i},n.DisplayObject=function(){this.last=this,this.first=this,this.position=new n.Point,this.scale=new n.Point(1,1),this.pivot=new n.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.worldVisible=!1,this.parent=null,this.stage=null,this.hitArea=null,this.worldAlpha=1,this.color=[],this.worldTransform=n.mat3.create(),this.localTransform=n.mat3.create(),this.dynamic=!0,this._sr=0,this._cr=1,this.childIndex=0,this.renderable=!1,this._interactive=!1,this.buttonMode=!1},n.DisplayObject.constructor=n.DisplayObject,n.DisplayObject.prototype.setInteractive=function(t){this.interactive=t},Object.defineProperty(n.DisplayObject.prototype,"interactive",{get:function(){return this._interactive},set:function(t){this._interactive=t,this.stage&&(this.stage.dirty=!0)}}),county=0,Object.defineProperty(n.DisplayObject.prototype,"mask",{get:function(){return this._mask},set:function(t){this._mask=t,t?this.addFilter(t):this.removeFilter()}}),n.DisplayObject.prototype.addFilter=function(t){if(!this.filter){this.filter=!0;var e=new n.FilterBlock,i=new n.FilterBlock;e.mask=t,i.mask=t,e.id=i.id=county,county++,e.first=e.last=this,i.first=i.last=this,e.open=!0;var r,s,a=e,o=e;s=this.first._iPrev,s?(r=s._iNext,a._iPrev=s,s._iNext=a):r=this,r&&(r._iPrev=o,o._iNext=r);var a=i,o=i,r=null,s=null;s=this.last,r=s._iNext,r&&(r._iPrev=o,o._iNext=r),a._iPrev=s,s._iNext=a;for(var h=this,l=this.last;h;)h.last==l&&(h.last=i),h=h.parent;this.first=e,this.__renderGroup&&this.__renderGroup.addFilterBlocks(e,i),t.renderable=!1}},n.DisplayObject.prototype.removeFilter=function(){if(this.filter){this.filter=!1;var t=this.first,e=t._iNext,i=t._iPrev;e&&(e._iPrev=i),i&&(i._iNext=e),this.first=t._iNext;var r=this.last,e=r._iNext,i=r._iPrev;e&&(e._iPrev=i),i._iNext=e;for(var n=r._iPrev,s=this;s.last==r&&(s.last=n,s=s.parent););var a=t.mask;a.renderable=!0,this.__renderGroup&&this.__renderGroup.removeFilterBlocks(t,r)}},n.DisplayObject.prototype.updateTransform=function(){this.rotation!=this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation));var t=this.localTransform,e=this.parent.worldTransform,i=this.worldTransform;t[0]=this._cr*this.scale.x,t[1]=-this._sr*this.scale.y,t[3]=this._sr*this.scale.x,t[4]=this._cr*this.scale.y;var r=this.pivot.x,n=this.pivot.y,s=t[0],a=t[1],o=this.position.x-t[0]*r-n*t[1],h=t[3],l=t[4],u=this.position.y-t[4]*n-r*t[3],c=e[0],d=e[1],p=e[2],f=e[3],v=e[4],g=e[5];t[2]=o,t[5]=u,i[0]=c*s+d*h,i[1]=c*a+d*l,i[2]=c*o+d*u+p,i[3]=f*s+v*h,i[4]=f*a+v*l,i[5]=f*o+v*u+g,this.worldAlpha=this.alpha*this.parent.worldAlpha},n.DisplayObjectContainer=function(){n.DisplayObject.call(this),this.children=[],this.renderable=!1},n.DisplayObjectContainer.constructor=n.DisplayObjectContainer,n.DisplayObjectContainer.prototype=Object.create(n.DisplayObject.prototype),n.DisplayObjectContainer.prototype.addChild=function(t){if(void 0!=t.parent&&t.parent.removeChild(t),t.parent=this,this.children.push(t),this.stage){var e=t;do e.interactive&&(this.stage.dirty=!0),e.stage=this.stage,e=e._iNext;while(e)}var i,r,n=t.first,s=t.last;r=this.filter?this.last._iPrev:this.last,i=r._iNext;for(var a=this,o=r;a;)a.last==o&&(a.last=t.last),a=a.parent;i&&(i._iPrev=s,s._iNext=i),n._iPrev=r,r._iNext=n,this.__renderGroup&&(t.__renderGroup&&t.__renderGroup.removeDisplayObjectAndChildren(t),this.__renderGroup.addDisplayObjectAndChildren(t))},n.DisplayObjectContainer.prototype.addChildAt=function(t,e){if(!(e>=0&&this.children.length>=e))throw Error(t+" The index "+e+" supplied is out of bounds "+this.children.length);if(void 0!=t.parent&&t.parent.removeChild(t),t.parent=this,this.stage){var i=t;do i.interactive&&(this.stage.dirty=!0),i.stage=this.stage,i=i._iNext;while(i)}var r,n,s=t.first,a=t.last;if(e==this.children.length){n=this.last;for(var o=this,h=this.last;o;)o.last==h&&(o.last=t.last),o=o.parent}else n=0==e?this:this.children[e-1].last;r=n._iNext,r&&(r._iPrev=a,a._iNext=r),s._iPrev=n,n._iNext=s,this.children.splice(e,0,t),this.__renderGroup&&(t.__renderGroup&&t.__renderGroup.removeDisplayObjectAndChildren(t),this.__renderGroup.addDisplayObjectAndChildren(t)),console.log(this.children)},n.DisplayObjectContainer.prototype.swapChildren=function(t,e){return},n.DisplayObjectContainer.prototype.getChildAt=function(t){if(t>=0&&this.children.length>t)return this.children[t];throw Error(child+" Both the supplied DisplayObjects must be a child of the caller "+this)},n.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1===e)throw Error(t+" The supplied DisplayObject must be a child of the caller "+this);var i=t.first,r=t.last,n=r._iNext,s=i._iPrev;if(n&&(n._iPrev=s),s._iNext=n,this.last==r)for(var a=i._iPrev,o=this;o.last==r.last&&(o.last=a,o=o.parent););if(r._iNext=null,i._iPrev=null,this.stage){var h=t;do h.interactive&&(this.stage.dirty=!0),h.stage=null,h=h._iNext;while(h)}t.__renderGroup&&t.__renderGroup.removeDisplayObjectAndChildren(t),t.parent=void 0,this.children.splice(e,1)},n.DisplayObjectContainer.prototype.updateTransform=function(){if(this.visible){n.DisplayObject.prototype.updateTransform.call(this);for(var t=0,e=this.children.length;e>t;t++)this.children[t].updateTransform()}},n.blendModes={},n.blendModes.NORMAL=0,n.blendModes.SCREEN=1,n.Sprite=function(t){n.DisplayObjectContainer.call(this),this.anchor=new n.Point,this.texture=t,this.blendMode=n.blendModes.NORMAL,this._width=0,this._height=0,t.baseTexture.hasLoaded?this.updateFrame=!0:(this.onTextureUpdateBind=this.onTextureUpdate.bind(this),this.texture.addEventListener("update",this.onTextureUpdateBind)),this.renderable=!0},n.Sprite.constructor=n.Sprite,n.Sprite.prototype=Object.create(n.DisplayObjectContainer.prototype),Object.defineProperty(n.Sprite.prototype,"width",{get:function(){return this.scale.x*this.texture.frame.width},set:function(t){this.scale.x=t/this.texture.frame.width,this._width=t}}),Object.defineProperty(n.Sprite.prototype,"height",{get:function(){return this.scale.y*this.texture.frame.height},set:function(t){this.scale.y=t/this.texture.frame.height,this._height=t}}),n.Sprite.prototype.setTexture=function(t){this.texture.baseTexture!=t.baseTexture&&(this.textureChange=!0),this.texture=t,this.updateFrame=!0},n.Sprite.prototype.onTextureUpdate=function(){this._width&&(this.scale.x=this._width/this.texture.frame.width),this._height&&(this.scale.y=this._height/this.texture.frame.height),this.updateFrame=!0},n.Sprite.fromFrame=function(t){var e=n.TextureCache[t];if(!e)throw Error("The frameId '"+t+"' does not exist in the texture cache"+this);return new n.Sprite(e)},n.Sprite.fromImage=function(t){var e=n.Texture.fromImage(t);return new n.Sprite(e)},n.MovieClip=function(t){n.Sprite.call(this,t[0]),this.textures=t,this.currentFrame=0,this.animationSpeed=1,this.loop=!0,this.onComplete=null,this.playing},n.MovieClip.constructor=n.MovieClip,n.MovieClip.prototype=Object.create(n.Sprite.prototype),n.MovieClip.prototype.stop=function(){this.playing=!1},n.MovieClip.prototype.play=function(){this.playing=!0},n.MovieClip.prototype.gotoAndStop=function(t){this.playing=!1,this.currentFrame=t;var e=0|this.currentFrame+.5;this.setTexture(this.textures[e%this.textures.length])},n.MovieClip.prototype.gotoAndPlay=function(t){this.currentFrame=t,this.playing=!0},n.MovieClip.prototype.updateTransform=function(){if(n.Sprite.prototype.updateTransform.call(this),this.playing){this.currentFrame+=this.animationSpeed;var t=0|this.currentFrame+.5;this.loop||this.textures.length>t?this.setTexture(this.textures[t%this.textures.length]):t>=this.textures.length&&(this.gotoAndStop(this.textures.length-1),this.onComplete&&this.onComplete())}},n.FilterBlock=function(t){this.graphics=t,this.visible=!0,this.renderable=!0},n.Text=function(t,e){this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d"),n.Sprite.call(this,n.Texture.fromCanvas(this.canvas)),this.setText(t),this.setStyle(e),this.updateText(),this.dirty=!1},n.Text.constructor=n.Text,n.Text.prototype=Object.create(n.Sprite.prototype),n.Text.prototype.setStyle=function(t){t=t||{},t.font=t.font||"bold 20pt Arial",t.fill=t.fill||"black",t.align=t.align||"left",t.stroke=t.stroke||"black",t.strokeThickness=t.strokeThickness||0,t.wordWrap=t.wordWrap||!1,t.wordWrapWidth=t.wordWrapWidth||100,this.style=t,this.dirty=!0},n.Sprite.prototype.setText=function(t){this.text=""+t||" ",this.dirty=!0},n.Text.prototype.updateText=function(){this.context.font=this.style.font;var t=this.text;this.style.wordWrap&&(t=this.wordWrap(this.text));for(var e=t.split(/(?:\r\n|\r|\n)/),i=[],r=0,s=0;e.length>s;s++){var a=this.context.measureText(e[s]).width;i[s]=a,r=Math.max(r,a)}this.canvas.width=r+this.style.strokeThickness;var o=this.determineFontHeight("font: "+this.style.font+";")+this.style.strokeThickness;for(this.canvas.height=o*e.length,this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.lineWidth=this.style.strokeThickness,this.context.textBaseline="top",s=0;e.length>s;s++){var h=new n.Point(this.style.strokeThickness/2,this.style.strokeThickness/2+s*o);"right"==this.style.align?h.x+=r-i[s]:"center"==this.style.align&&(h.x+=(r-i[s])/2),this.style.stroke&&this.style.strokeThickness&&this.context.strokeText(e[s],h.x,h.y),this.style.fill&&this.context.fillText(e[s],h.x,h.y)}this.updateTexture()},n.Text.prototype.updateTexture=function(){this.texture.baseTexture.width=this.canvas.width,this.texture.baseTexture.height=this.canvas.height,this.texture.frame.width=this.canvas.width,this.texture.frame.height=this.canvas.height,this._width=this.canvas.width,this._height=this.canvas.height,n.texturesToUpdate.push(this.texture.baseTexture)},n.Text.prototype.updateTransform=function(){this.dirty&&(this.updateText(),this.dirty=!1),n.Sprite.prototype.updateTransform.call(this)},n.Text.prototype.determineFontHeight=function(t){var e=n.Text.heightCache[t];if(!e){var i=document.getElementsByTagName("body")[0],r=document.createElement("div"),s=document.createTextNode("M");r.appendChild(s),r.setAttribute("style",t+";position:absolute;top:0;left:0"),i.appendChild(r),e=r.offsetHeight,n.Text.heightCache[t]=e,i.removeChild(r)}return e},n.Text.prototype.wordWrap=function(t){for(var e=function(t,e,i,r,n){var s=Math.floor((r-i)/2)+i;return s==i?1:n>=t.measureText(e.substring(0,s)).width?t.measureText(e.substring(0,s+1)).width>n?s:arguments.callee(t,e,s,r,n):arguments.callee(t,e,i,s,n)},i=function(t,i,r){if(r>=t.measureText(i).width||1>i.length)return i;var n=e(t,i,0,i.length,r);return i.substring(0,n)+"\n"+arguments.callee(t,i.substring(n),r)},r="",n=t.split("\n"),s=0;n.length>s;s++)r+=i(this.context,n[s],this.style.wordWrapWidth)+"\n";return r},n.Text.prototype.destroy=function(t){t&&this.texture.destroy()},n.Text.heightCache={},n.BitmapText=function(t,e){n.DisplayObjectContainer.call(this),this.setText(t),this.setStyle(e),this.updateText(),this.dirty=!1},n.BitmapText.constructor=n.BitmapText,n.BitmapText.prototype=Object.create(n.DisplayObjectContainer.prototype),n.BitmapText.prototype.setText=function(t){this.text=t||" ",this.dirty=!0},n.BitmapText.prototype.setStyle=function(t){t=t||{},t.align=t.align||"left",this.style=t;var e=t.font.split(" ");this.fontName=e[e.length-1],this.fontSize=e.length>=2?parseInt(e[e.length-2],10):n.BitmapText.fonts[this.fontName].size,this.dirty=!0},n.BitmapText.prototype.updateText=function(){for(var t=n.BitmapText.fonts[this.fontName],e=new n.Point,i=null,r=[],s=0,a=[],o=0,h=this.fontSize/t.size,l=0;this.text.length>l;l++){var u=this.text.charCodeAt(l);if(/(?:\r\n|\r|\n)/.test(this.text.charAt(l)))a.push(e.x),s=Math.max(s,e.x),o++,e.x=0,e.y+=t.lineHeight,i=null;else{var c=t.chars[u];c&&(i&&c[i]&&(e.x+=c.kerning[i]),r.push({texture:c.texture,line:o,charCode:u,position:new n.Point(e.x+c.xOffset,e.y+c.yOffset)}),e.x+=c.xAdvance,i=u)}}a.push(e.x),s=Math.max(s,e.x);var d=[];for(l=0;o>=l;l++){var p=0;"right"==this.style.align?p=s-a[l]:"center"==this.style.align&&(p=(s-a[l])/2),d.push(p)}for(l=0;r.length>l;l++){var f=new n.Sprite(r[l].texture);f.position.x=(r[l].position.x+d[r[l].line])*h,f.position.y=r[l].position.y*h,f.scale.x=f.scale.y=h,this.addChild(f)}this.width=e.x*h,this.height=(e.y+t.lineHeight)*h},n.BitmapText.prototype.updateTransform=function(){if(this.dirty){for(;this.children.length>0;)this.removeChild(this.getChildAt(0));this.updateText(),this.dirty=!1}n.DisplayObjectContainer.prototype.updateTransform.call(this)},n.BitmapText.fonts={},n.InteractionManager=function(t){this.stage=t,this.tempPoint=new n.Point,this.mouseoverEnabled=!0,this.mouse=new n.InteractionData,this.touchs={},this.pool=[],this.interactiveItems=[],this.last=0},n.InteractionManager.constructor=n.InteractionManager,n.InteractionManager.prototype.collectInteractiveSprite=function(t,e){for(var i=t.children,r=i.length,n=r-1;n>=0;n--){var s=i[n];s.visible&&(s.interactive?(e.interactiveChildren=!0,this.interactiveItems.push(s),s.children.length>0&&this.collectInteractiveSprite(s,s)):(s.__iParent=null,s.children.length>0&&this.collectInteractiveSprite(s,e)))}},n.InteractionManager.prototype.setTarget=function(t){window.navigator.msPointerEnabled&&(t.view.style["-ms-content-zooming"]="none",t.view.style["-ms-touch-action"]="none"),this.target=t,t.view.addEventListener("mousemove",this.onMouseMove.bind(this),!0),t.view.addEventListener("mousedown",this.onMouseDown.bind(this),!0),document.body.addEventListener("mouseup",this.onMouseUp.bind(this),!0),t.view.addEventListener("mouseout",this.onMouseUp.bind(this),!0),t.view.addEventListener("touchstart",this.onTouchStart.bind(this),!0),t.view.addEventListener("touchend",this.onTouchEnd.bind(this),!0),t.view.addEventListener("touchmove",this.onTouchMove.bind(this),!0)},n.InteractionManager.prototype.update=function(){if(this.target){var t=Date.now(),e=t-this.last;if(e=30*e/1e3,!(1>e)){if(this.last=t,this.dirty){this.dirty=!1;for(var i=this.interactiveItems.length,r=0;i>r;r++)this.interactiveItems[r].interactiveChildren=!1;this.interactiveItems=[],this.stage.interactive&&this.interactiveItems.push(this.stage),this.collectInteractiveSprite(this.stage,this.stage)}var n=this.interactiveItems.length;this.target.view.style.cursor="default";for(var r=0;n>r;r++){var s=this.interactiveItems[r];s.visible&&(s.mouseover||s.mouseout||s.buttonMode)&&(s.__hit=this.hitTest(s,this.mouse),s.__hit?(s.buttonMode&&(this.target.view.style.cursor="pointer"),s.__isOver||(s.mouseover&&s.mouseover(this.mouse),s.__isOver=!0)):s.__isOver&&(s.mouseout&&s.mouseout(this.mouse),s.__isOver=!1))}}}},n.InteractionManager.prototype.onMouseMove=function(t){this.mouse.originalEvent=t||window.event;var e=this.target.view.getBoundingClientRect();this.mouse.global.x=(t.clientX-e.left)*(this.target.width/e.width),this.mouse.global.y=(t.clientY-e.top)*(this.target.height/e.height);var i=this.interactiveItems.length;this.mouse.global;for(var r=0;i>r;r++){var n=this.interactiveItems[r];n.mousemove&&n.mousemove(this.mouse)}},n.InteractionManager.prototype.onMouseDown=function(t){t.preventDefault(),this.mouse.originalEvent=t||window.event;var e=this.interactiveItems.length;this.mouse.global,this.stage;for(var i=0;e>i;i++){var r=this.interactiveItems[i];if((r.mousedown||r.click)&&(r.__mouseIsDown=!0,r.__hit=this.hitTest(r,this.mouse),r.__hit&&(r.mousedown&&r.mousedown(this.mouse),r.__isDown=!0,!r.interactiveChildren)))break}},n.InteractionManager.prototype.onMouseUp=function(t){this.mouse.originalEvent=t||window.event,this.mouse.global;for(var e=this.interactiveItems.length,i=!1,r=0;e>r;r++){var n=this.interactiveItems[r];(n.mouseup||n.mouseupoutside||n.click)&&(n.__hit=this.hitTest(n,this.mouse),n.__hit&&!i?(n.mouseup&&n.mouseup(this.mouse),n.__isDown&&n.click&&n.click(this.mouse),n.interactiveChildren||(i=!0)):n.__isDown&&n.mouseupoutside&&n.mouseupoutside(this.mouse),n.__isDown=!1)}},n.InteractionManager.prototype.hitTest=function(t,e){var i=e.global;if(!t.visible)return!1;var r=t instanceof n.Sprite,s=t.worldTransform,a=s[0],o=s[1],h=s[2],l=s[3],u=s[4],c=s[5],d=1/(a*u+o*-l),p=u*d*i.x+-o*d*i.y+(c*o-h*u)*d,f=a*d*i.y+-l*d*i.x+(-c*a+h*l)*d;if(t.hitArea&&t.hitArea.contains&&t.hitArea.contains(p,f))return r&&(e.target=t),!0;if(r){var v,g=t.texture.frame.width,m=t.texture.frame.height,x=-g*t.anchor.x;if(p>x&&x+g>p&&(v=-m*t.anchor.y,f>v&&v+m>f))return e.target=t,!0}for(var b=t.children.length,y=0;b>y;y++){var T=t.children[y],_=this.hitTest(T,e);if(_)return!0}return!1},n.InteractionManager.prototype.onTouchMove=function(t){this.mouse.originalEvent=t||window.event;for(var e=this.target.view.getBoundingClientRect(),i=t.changedTouches,r=0;i.length>r;r++){var n=i[r],s=this.touchs[n.identifier];s.global.x=(n.clientX-e.left)*(this.target.width/e.width),s.global.y=(n.clientY-e.top)*(this.target.height/e.height)}for(var a=this.interactiveItems.length,r=0;a>r;r++){var o=this.interactiveItems[r];o.touchmove&&o.touchmove(s)}},n.InteractionManager.prototype.onTouchStart=function(t){t.preventDefault(),this.mouse.originalEvent=t||window.event;for(var e=this.target.view.getBoundingClientRect(),i=t.changedTouches,r=0;i.length>r;r++){var s=i[r],a=this.pool.pop();a||(a=new n.InteractionData),this.touchs[s.identifier]=a,a.global.x=(s.clientX-e.left)*(this.target.width/e.width),a.global.y=(s.clientY-e.top)*(this.target.height/e.height);for(var o=this.interactiveItems.length,h=0;o>h;h++){var l=this.interactiveItems[h];if((l.touchstart||l.tap)&&(l.__hit=this.hitTest(l,a),l.__hit&&(l.touchstart&&l.touchstart(a),l.__isDown=!0,l.__touchData=a,!l.interactiveChildren)))break}}},n.InteractionManager.prototype.onTouchEnd=function(t){this.mouse.originalEvent=t||window.event;for(var e=this.target.view.getBoundingClientRect(),i=t.changedTouches,r=0;i.length>r;r++){var n=i[r],s=this.touchs[n.identifier],a=!1;s.global.x=(n.clientX-e.left)*(this.target.width/e.width),s.global.y=(n.clientY-e.top)*(this.target.height/e.height);for(var o=this.interactiveItems.length,h=0;o>h;h++){var l=this.interactiveItems[h],u=l.__touchData;l.__hit=this.hitTest(l,s),u==s&&((l.touchend||l.tap)&&(l.__hit&&!a?(l.touchend&&l.touchend(s),l.__isDown&&l.tap&&l.tap(s),l.interactiveChildren||(a=!0)):l.__isDown&&l.touchendoutside&&l.touchendoutside(s),l.__isDown=!1),l.__touchData=null)}this.pool.push(s),this.touchs[n.identifier]=null}},n.InteractionData=function(){this.global=new n.Point,this.local=new n.Point,this.target,this.originalEvent},n.InteractionData.prototype.getLocalPosition=function(t){var e=t.worldTransform,i=this.global,r=e[0],s=e[1],a=e[2],o=e[3],h=e[4],l=e[5],u=1/(r*h+s*-o);return new n.Point(h*u*i.x+-s*u*i.y+(l*s-a*h)*u,r*u*i.y+-o*u*i.x+(-l*r+a*o)*u)},n.InteractionData.constructor=n.InteractionData,n.Stage=function(t,e){n.DisplayObjectContainer.call(this),this.worldTransform=n.mat3.create(),this.__childrenAdded=[],this.__childrenRemoved=[],this.stage=this,this.interactive=e,this.stage.hitArea=new n.Rectangle(0,0,1e5,1e5),this.interactionManager=new n.InteractionManager(this),this.setBackgroundColor(t),this.worldVisible=!0,this.stage.dirty=!0},n.Stage.constructor=n.Stage,n.Stage.prototype=Object.create(n.DisplayObjectContainer.prototype),n.Stage.prototype.updateTransform=function(){this.worldAlpha=1;for(var t=0,e=this.children.length;e>t;t++)this.children[t].updateTransform();this.dirty&&(this.dirty=!1,this.interactionManager.dirty=!0),this.interactive&&this.interactionManager.update()},n.Stage.prototype.setBackgroundColor=function(t){this.backgroundColor=t||0,this.backgroundColorSplit=e(this.backgroundColor);var i=this.backgroundColor.toString(16);i="000000".substr(0,6-i.length)+i,this.backgroundColorString="#"+i},n.Stage.prototype.getMousePosition=function(){return this.interactionManager.mouse.global};for(var s=0,o=["ms","moz","webkit","o"],h=0;o.length>h&&!window.requestAnimationFrame;++h)window.requestAnimationFrame=window[o[h]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[o[h]+"CancelAnimationFrame"]||window[o[h]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(t){var e=(new Date).getTime(),i=Math.max(0,16-(e-s)),r=window.setTimeout(function(){t(e+i)},i);return s=e+i,r}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(t){clearTimeout(t)}),window.requestAnimFrame=window.requestAnimationFrame,"function"!=typeof Function.prototype.bind&&(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var s=n.concat(t.call(arguments));r.apply(this instanceof i?this:e,s)}var r=this,n=t.call(arguments,1);if("function"!=typeof r)throw new TypeError;return i.prototype=function s(t){return t&&(s.prototype=t),this instanceof s?void 0:new s}(r.prototype),i}}());var l=n.AjaxRequest=function(){var t=["Msxml2.XMLHTTP","Microsoft.XMLHTTP"];if(!window.ActiveXObject)return window.XMLHttpRequest?new XMLHttpRequest:!1;for(var e=0;t.length>e;e++)try{return new ActiveXObject(t[e])}catch(i){}};n.runList=function(t){console.log(">>>>>>>>>"),console.log("_");var e=0,i=t.first;for(console.log(i);i._iNext;)if(e++,i=i._iNext,console.log(i),e>100){console.log("BREAK");break}},n.EventTarget=function(){var t={};this.addEventListener=this.on=function(e,i){void 0===t[e]&&(t[e]=[]),-1===t[e].indexOf(i)&&t[e].push(i)},this.dispatchEvent=this.emit=function(e){for(var i in t[e.type])t[e.type][i](e)},this.removeEventListener=this.off=function(e,i){var r=t[e].indexOf(i);-1!==r&&t[e].splice(r,1)}},n.autoDetectRenderer=function(t,e,i,r){t||(t=800),e||(e=600);var s=function(){try{return!!window.WebGLRenderingContext&&!!document.createElement("canvas").getContext("experimental-webgl")}catch(t){return!1}}();return s?new n.WebGLRenderer(t,e,i,r):new n.CanvasRenderer(t,e,i,r)},n.PolyK={},n.PolyK.Triangulate=function(t){var e=!0,i=t.length>>1;if(3>i)return[];for(var r=[],s=[],a=0;i>a;a++)s.push(a);for(var a=0,o=i;o>3;){var h=s[(a+0)%o],l=s[(a+1)%o],u=s[(a+2)%o],c=t[2*h],d=t[2*h+1],p=t[2*l],f=t[2*l+1],v=t[2*u],g=t[2*u+1],m=!1;if(n.PolyK._convex(c,d,p,f,v,g,e)){m=!0;for(var x=0;o>x;x++){var b=s[x];if(b!=h&&b!=l&&b!=u&&n.PolyK._PointInTriangle(t[2*b],t[2*b+1],c,d,p,f,v,g)){m=!1;break}}}if(m)r.push(h,l,u),s.splice((a+1)%o,1),o--,a=0;else if(a++>3*o){if(!e)return console.log("PIXI Warning: shape too complex to fill"),[];var r=[];s=[];for(var a=0;i>a;a++)s.push(a);a=0,o=i,e=!1}}return r.push(s[0],s[1],s[2]),r},n.PolyK._PointInTriangle=function(t,e,i,r,n,s,a,o){var h=a-i,l=o-r,u=n-i,c=s-r,d=t-i,p=e-r,f=h*h+l*l,v=h*u+l*c,g=h*d+l*p,m=u*u+c*c,x=u*d+c*p,b=1/(f*m-v*v),y=(m*g-v*x)*b,T=(f*x-v*g)*b;return y>=0&&T>=0&&1>y+T},n.PolyK._convex=function(t,e,i,r,n,s,a){return(e-r)*(n-i)+(i-t)*(s-r)>=0==a},n.shaderFragmentSrc=["precision mediump float;","varying vec2 vTextureCoord;","varying float vColor;","uniform sampler2D uSampler;","void main(void) {","gl_FragColor = texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y));","gl_FragColor = gl_FragColor * vColor;","}"],n.shaderVertexSrc=["attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aColor;","uniform vec2 projectionVector;","varying vec2 vTextureCoord;","varying float vColor;","void main(void) {","gl_Position = vec4( aVertexPosition.x / projectionVector.x -1.0, aVertexPosition.y / -projectionVector.y + 1.0 , 0.0, 1.0);","vTextureCoord = aTextureCoord;","vColor = aColor;","}"],n.stripShaderFragmentSrc=["precision mediump float;","varying vec2 vTextureCoord;","varying float vColor;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {","gl_FragColor = texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y));","gl_FragColor = gl_FragColor * alpha;","}"],n.stripShaderVertexSrc=["attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aColor;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","varying vec2 vTextureCoord;","varying float vColor;","void main(void) {","vec3 v = translationMatrix * vec3(aVertexPosition, 1.0);","gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);","vTextureCoord = aTextureCoord;","vColor = aColor;","}"],n.primitiveShaderFragmentSrc=["precision mediump float;","varying vec4 vColor;","void main(void) {","gl_FragColor = vColor;","}"],n.primitiveShaderVertexSrc=["attribute vec2 aVertexPosition;","attribute vec4 aColor;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform float alpha;","varying vec4 vColor;","void main(void) {","vec3 v = translationMatrix * vec3(aVertexPosition, 1.0);","gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);","vColor = aColor * alpha;","}"],n.initPrimitiveShader=function(){var t=n.gl,e=n.compileProgram(n.primitiveShaderVertexSrc,n.primitiveShaderFragmentSrc);t.useProgram(e),e.vertexPositionAttribute=t.getAttribLocation(e,"aVertexPosition"),e.colorAttribute=t.getAttribLocation(e,"aColor"),e.projectionVector=t.getUniformLocation(e,"projectionVector"),e.translationMatrix=t.getUniformLocation(e,"translationMatrix"),e.alpha=t.getUniformLocation(e,"alpha"),n.primitiveProgram=e},n.initDefaultShader=function(){var t=this.gl,e=n.compileProgram(n.shaderVertexSrc,n.shaderFragmentSrc);t.useProgram(e),e.vertexPositionAttribute=t.getAttribLocation(e,"aVertexPosition"),e.projectionVector=t.getUniformLocation(e,"projectionVector"),e.textureCoordAttribute=t.getAttribLocation(e,"aTextureCoord"),e.colorAttribute=t.getAttribLocation(e,"aColor"),e.samplerUniform=t.getUniformLocation(e,"uSampler"),n.shaderProgram=e},n.initDefaultStripShader=function(){var t=this.gl,e=n.compileProgram(n.stripShaderVertexSrc,n.stripShaderFragmentSrc);t.useProgram(e),e.vertexPositionAttribute=t.getAttribLocation(e,"aVertexPosition"),e.projectionVector=t.getUniformLocation(e,"projectionVector"),e.textureCoordAttribute=t.getAttribLocation(e,"aTextureCoord"),e.translationMatrix=t.getUniformLocation(e,"translationMatrix"),e.alpha=t.getUniformLocation(e,"alpha"),e.colorAttribute=t.getAttribLocation(e,"aColor"),e.projectionVector=t.getUniformLocation(e,"projectionVector"),e.samplerUniform=t.getUniformLocation(e,"uSampler"),n.stripShaderProgram=e},n.CompileVertexShader=function(t,e){return n._CompileShader(t,e,t.VERTEX_SHADER)},n.CompileFragmentShader=function(t,e){return n._CompileShader(t,e,t.FRAGMENT_SHADER)},n._CompileShader=function(t,e,i){var r=e.join("\n"),n=t.createShader(i);return t.shaderSource(n,r),t.compileShader(n),t.getShaderParameter(n,t.COMPILE_STATUS)?n:(alert(t.getShaderInfoLog(n)),null)},n.compileProgram=function(t,e){var i=n.gl,r=n.CompileFragmentShader(i,e),s=n.CompileVertexShader(i,t),a=i.createProgram();return i.attachShader(a,s),i.attachShader(a,r),i.linkProgram(a),i.getProgramParameter(a,i.LINK_STATUS)||alert("Could not initialise shaders"),a},n.activateDefaultShader=function(){var t=n.gl,e=n.shaderProgram;t.useProgram(e),t.enableVertexAttribArray(e.vertexPositionAttribute),t.enableVertexAttribArray(e.textureCoordAttribute),t.enableVertexAttribArray(e.colorAttribute)},n.activatePrimitiveShader=function(){var t=n.gl;t.disableVertexAttribArray(n.shaderProgram.textureCoordAttribute),t.disableVertexAttribArray(n.shaderProgram.colorAttribute),t.useProgram(n.primitiveProgram),t.enableVertexAttribArray(n.primitiveProgram.vertexPositionAttribute),t.enableVertexAttribArray(n.primitiveProgram.colorAttribute)},n.WebGLGraphics=function(){},n.WebGLGraphics.renderGraphics=function(t,e){var i=n.gl;t._webGL||(t._webGL={points:[],indices:[],lastIndex:0,buffer:i.createBuffer(),indexBuffer:i.createBuffer()}),t.dirty&&(t.dirty=!1,t.clearDirty&&(t.clearDirty=!1,t._webGL.lastIndex=0,t._webGL.points=[],t._webGL.indices=[]),n.WebGLGraphics.updateGraphics(t)),n.activatePrimitiveShader(); +(function(){function t(){return n.Matrix="undefined"!=typeof Float32Array?Float32Array:Array,n.Matrix}function e(t){return[(255&t>>16)/255,(255&t>>8)/255,(255&t)/255]}function e(t){return[(255&t>>16)/255,(255&t>>8)/255,(255&t)/255]}var i=this,n=n||{};n.Point=function(t,e){this.x=t||0,this.y=e||0},n.Point.prototype.clone=function(){return new n.Point(this.x,this.y)},n.Point.constructor=n.Point,n.Rectangle=function(t,e,i,r){this.x=t||0,this.y=e||0,this.width=i||0,this.height=r||0},n.Rectangle.prototype.clone=function(){return new n.Rectangle(this.x,this.y,this.width,this.height)},n.Rectangle.prototype.contains=function(t,e){if(0>=this.width||0>=this.height)return!1;var i=this.x;if(t>i&&i+this.width>t){var r=this.y;if(e>r&&r+this.height>e)return!0}return!1},n.Rectangle.constructor=n.Rectangle,n.Polygon=function(t){if("number"==typeof t[0]){for(var e=[],i=0,r=t.length;r>i;i+=2)e.push(new n.Point(t[i],t[i+1]));t=e}this.points=t},n.Polygon.prototype.clone=function(){for(var t=[],e=0;this.points.length>e;e++)t.push(this.points[e].clone());return new n.Polygon(t)},n.Polygon.prototype.contains=function(t,e){for(var i=!1,r=0,n=this.points.length-1;this.points.length>r;n=r++){var s=this.points[r].x,a=this.points[r].y,o=this.points[n].x,h=this.points[n].y,l=a>e!=h>e&&(o-s)*(e-a)/(h-a)+s>t;l&&(i=!i)}return i},n.Polygon.constructor=n.Polygon,n.Circle=function(t,e,i){this.x=t||0,this.y=e||0,this.radius=i||0},n.Circle.prototype.clone=function(){return new n.Circle(this.x,this.y,this.radius)},n.Circle.prototype.contains=function(t,e){if(0>=this.radius)return!1;var i=this.x-t,r=this.y-e,n=this.radius*this.radius;return i*=i,r*=r,n>=i+r},n.Circle.constructor=n.Circle,n.Ellipse=function(t,e,i,r){this.x=t||0,this.y=e||0,this.width=i||0,this.height=r||0},n.Ellipse.prototype.clone=function(){return new n.Ellipse(this.x,this.y,this.width,this.height)},n.Ellipse.prototype.contains=function(t,e){if(0>=this.width||0>=this.height)return!1;var i=(t-this.x)/this.width-.5,r=(e-this.y)/this.height-.5;return i*=i,r*=r,.25>i+r},n.Ellipse.getBounds=function(){return new n.Rectangle(this.x,this.y,this.width,this.height)},n.Ellipse.constructor=n.Ellipse,t(),n.mat3={},n.mat3.create=function(){var t=new n.Matrix(9);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},n.mat4={},n.mat4.create=function(){var t=new n.Matrix(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},n.mat3.multiply=function(t,e,i){i||(i=t);var r=t[0],n=t[1],s=t[2],a=t[3],o=t[4],h=t[5],l=t[6],u=t[7],c=t[8],d=e[0],p=e[1],f=e[2],v=e[3],g=e[4],m=e[5],x=e[6],b=e[7],y=e[8];return i[0]=d*r+p*a+f*l,i[1]=d*n+p*o+f*u,i[2]=d*s+p*h+f*c,i[3]=v*r+g*a+m*l,i[4]=v*n+g*o+m*u,i[5]=v*s+g*h+m*c,i[6]=x*r+b*a+y*l,i[7]=x*n+b*o+y*u,i[8]=x*s+b*h+y*c,i},n.mat3.clone=function(t){var e=new n.Matrix(9);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e},n.mat3.transpose=function(t,e){if(!e||t===e){var i=t[1],r=t[2],n=t[5];return t[1]=t[3],t[2]=t[6],t[3]=i,t[5]=t[7],t[6]=r,t[7]=n,t}return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],e},n.mat3.toMat4=function(t,e){return e||(e=n.mat4.create()),e[15]=1,e[14]=0,e[13]=0,e[12]=0,e[11]=0,e[10]=t[8],e[9]=t[7],e[8]=t[6],e[7]=0,e[6]=t[5],e[5]=t[4],e[4]=t[3],e[3]=0,e[2]=t[2],e[1]=t[1],e[0]=t[0],e},n.mat4.create=function(){var t=new n.Matrix(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},n.mat4.transpose=function(t,e){if(!e||t===e){var i=t[1],r=t[2],n=t[3],s=t[6],a=t[7],o=t[11];return t[1]=t[4],t[2]=t[8],t[3]=t[12],t[4]=i,t[6]=t[9],t[7]=t[13],t[8]=r,t[9]=s,t[11]=t[14],t[12]=n,t[13]=a,t[14]=o,t}return e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15],e},n.mat4.multiply=function(t,e,i){i||(i=t);var r=t[0],n=t[1],s=t[2],a=t[3],o=t[4],h=t[5],l=t[6],u=t[7],c=t[8],d=t[9],p=t[10],f=t[11],v=t[12],g=t[13],m=t[14],x=t[15],b=e[0],y=e[1],T=e[2],_=e[3];return i[0]=b*r+y*o+T*c+_*v,i[1]=b*n+y*h+T*d+_*g,i[2]=b*s+y*l+T*p+_*m,i[3]=b*a+y*u+T*f+_*x,b=e[4],y=e[5],T=e[6],_=e[7],i[4]=b*r+y*o+T*c+_*v,i[5]=b*n+y*h+T*d+_*g,i[6]=b*s+y*l+T*p+_*m,i[7]=b*a+y*u+T*f+_*x,b=e[8],y=e[9],T=e[10],_=e[11],i[8]=b*r+y*o+T*c+_*v,i[9]=b*n+y*h+T*d+_*g,i[10]=b*s+y*l+T*p+_*m,i[11]=b*a+y*u+T*f+_*x,b=e[12],y=e[13],T=e[14],_=e[15],i[12]=b*r+y*o+T*c+_*v,i[13]=b*n+y*h+T*d+_*g,i[14]=b*s+y*l+T*p+_*m,i[15]=b*a+y*u+T*f+_*x,i},n.DisplayObject=function(){this.last=this,this.first=this,this.position=new n.Point,this.scale=new n.Point(1,1),this.pivot=new n.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.worldVisible=!1,this.parent=null,this.stage=null,this.hitArea=null,this.worldAlpha=1,this.color=[],this.worldTransform=n.mat3.create(),this.localTransform=n.mat3.create(),this.dynamic=!0,this._sr=0,this._cr=1,this.childIndex=0,this.renderable=!1,this._interactive=!1,this.buttonMode=!1},n.DisplayObject.constructor=n.DisplayObject,n.DisplayObject.prototype.setInteractive=function(t){this.interactive=t},Object.defineProperty(n.DisplayObject.prototype,"interactive",{get:function(){return this._interactive},set:function(t){this._interactive=t,this.stage&&(this.stage.dirty=!0)}}),Object.defineProperty(n.DisplayObject.prototype,"mask",{get:function(){return this._mask},set:function(t){this._mask=t,t?this.addFilter(t):this.removeFilter()}}),n.DisplayObject.prototype.addFilter=function(t){if(!this.filter){this.filter=!0;var e=new n.FilterBlock,i=new n.FilterBlock;e.mask=t,i.mask=t,e.id=i.id=county,county++,e.first=e.last=this,i.first=i.last=this,e.open=!0;var r,s,a=e,o=e;s=this.first._iPrev,s?(r=s._iNext,a._iPrev=s,s._iNext=a):r=this,r&&(r._iPrev=o,o._iNext=r);var a=i,o=i,r=null,s=null;s=this.last,r=s._iNext,r&&(r._iPrev=o,o._iNext=r),a._iPrev=s,s._iNext=a;for(var h=this,l=this.last;h;)h.last==l&&(h.last=i),h=h.parent;this.first=e,this.__renderGroup&&this.__renderGroup.addFilterBlocks(e,i),t.renderable=!1}},n.DisplayObject.prototype.removeFilter=function(){if(this.filter){this.filter=!1;var t=this.first,e=t._iNext,i=t._iPrev;e&&(e._iPrev=i),i&&(i._iNext=e),this.first=t._iNext;var r=this.last,e=r._iNext,i=r._iPrev;e&&(e._iPrev=i),i._iNext=e;for(var n=r._iPrev,s=this;s.last==r&&(s.last=n,s=s.parent););var a=t.mask;a.renderable=!0,this.__renderGroup&&this.__renderGroup.removeFilterBlocks(t,r)}},n.DisplayObject.prototype.updateTransform=function(){this.rotation!=this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation));var t=this.localTransform,e=this.parent.worldTransform,i=this.worldTransform;t[0]=this._cr*this.scale.x,t[1]=-this._sr*this.scale.y,t[3]=this._sr*this.scale.x,t[4]=this._cr*this.scale.y;var r=this.pivot.x,n=this.pivot.y,s=t[0],a=t[1],o=this.position.x-t[0]*r-n*t[1],h=t[3],l=t[4],u=this.position.y-t[4]*n-r*t[3],c=e[0],d=e[1],p=e[2],f=e[3],v=e[4],g=e[5];t[2]=o,t[5]=u,i[0]=c*s+d*h,i[1]=c*a+d*l,i[2]=c*o+d*u+p,i[3]=f*s+v*h,i[4]=f*a+v*l,i[5]=f*o+v*u+g,this.worldAlpha=this.alpha*this.parent.worldAlpha},n.DisplayObjectContainer=function(){n.DisplayObject.call(this),this.children=[],this.renderable=!1},n.DisplayObjectContainer.constructor=n.DisplayObjectContainer,n.DisplayObjectContainer.prototype=Object.create(n.DisplayObject.prototype),n.DisplayObjectContainer.prototype.addChild=function(t){if(void 0!=t.parent&&t.parent.removeChild(t),t.parent=this,this.children.push(t),this.stage){var e=t;do e.interactive&&(this.stage.dirty=!0),e.stage=this.stage,e=e._iNext;while(e)}var i,r,n=t.first,s=t.last;r=this.filter?this.last._iPrev:this.last,i=r._iNext;for(var a=this,o=r;a;)a.last==o&&(a.last=t.last),a=a.parent;i&&(i._iPrev=s,s._iNext=i),n._iPrev=r,r._iNext=n,this.__renderGroup&&(t.__renderGroup&&t.__renderGroup.removeDisplayObjectAndChildren(t),this.__renderGroup.addDisplayObjectAndChildren(t))},n.DisplayObjectContainer.prototype.addChildAt=function(t,e){if(!(e>=0&&this.children.length>=e))throw Error(t+" The index "+e+" supplied is out of bounds "+this.children.length);if(void 0!=t.parent&&t.parent.removeChild(t),t.parent=this,this.stage){var i=t;do i.interactive&&(this.stage.dirty=!0),i.stage=this.stage,i=i._iNext;while(i)}var r,n,s=t.first,a=t.last;if(e==this.children.length){n=this.last;for(var o=this,h=this.last;o;)o.last==h&&(o.last=t.last),o=o.parent}else n=0==e?this:this.children[e-1].last;r=n._iNext,r&&(r._iPrev=a,a._iNext=r),s._iPrev=n,n._iNext=s,this.children.splice(e,0,t),this.__renderGroup&&(t.__renderGroup&&t.__renderGroup.removeDisplayObjectAndChildren(t),this.__renderGroup.addDisplayObjectAndChildren(t)),console.log(this.children)},n.DisplayObjectContainer.prototype.swapChildren=function(){},n.DisplayObjectContainer.prototype.getChildAt=function(t){if(t>=0&&this.children.length>t)return this.children[t];throw Error(child+" Both the supplied DisplayObjects must be a child of the caller "+this)},n.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1===e)throw Error(t+" The supplied DisplayObject must be a child of the caller "+this);var i=t.first,r=t.last,n=r._iNext,s=i._iPrev;if(n&&(n._iPrev=s),s._iNext=n,this.last==r)for(var a=i._iPrev,o=this;o.last==r.last&&(o.last=a,o=o.parent););if(r._iNext=null,i._iPrev=null,this.stage){var h=t;do h.interactive&&(this.stage.dirty=!0),h.stage=null,h=h._iNext;while(h)}t.__renderGroup&&t.__renderGroup.removeDisplayObjectAndChildren(t),t.parent=void 0,this.children.splice(e,1)},n.DisplayObjectContainer.prototype.updateTransform=function(){if(this.visible){n.DisplayObject.prototype.updateTransform.call(this);for(var t=0,e=this.children.length;e>t;t++)this.children[t].updateTransform()}},n.blendModes={},n.blendModes.NORMAL=0,n.blendModes.SCREEN=1,n.Sprite=function(t){n.DisplayObjectContainer.call(this),this.anchor=new n.Point,this.texture=t,this.blendMode=n.blendModes.NORMAL,this._width=0,this._height=0,t.baseTexture.hasLoaded?this.updateFrame=!0:(this.onTextureUpdateBind=this.onTextureUpdate.bind(this),this.texture.addEventListener("update",this.onTextureUpdateBind)),this.renderable=!0},n.Sprite.constructor=n.Sprite,n.Sprite.prototype=Object.create(n.DisplayObjectContainer.prototype),Object.defineProperty(n.Sprite.prototype,"width",{get:function(){return this.scale.x*this.texture.frame.width},set:function(t){this.scale.x=t/this.texture.frame.width,this._width=t}}),Object.defineProperty(n.Sprite.prototype,"height",{get:function(){return this.scale.y*this.texture.frame.height},set:function(t){this.scale.y=t/this.texture.frame.height,this._height=t}}),n.Sprite.prototype.setTexture=function(t){this.texture.baseTexture!=t.baseTexture&&(this.textureChange=!0),this.texture=t,this.updateFrame=!0},n.Sprite.prototype.onTextureUpdate=function(){this._width&&(this.scale.x=this._width/this.texture.frame.width),this._height&&(this.scale.y=this._height/this.texture.frame.height),this.updateFrame=!0},n.Sprite.fromFrame=function(t){var e=n.TextureCache[t];if(!e)throw Error("The frameId '"+t+"' does not exist in the texture cache"+this);return new n.Sprite(e)},n.Sprite.fromImage=function(t){var e=n.Texture.fromImage(t);return new n.Sprite(e)},n.MovieClip=function(t){n.Sprite.call(this,t[0]),this.textures=t,this.currentFrame=0,this.animationSpeed=1,this.loop=!0,this.onComplete=null,this.playing},n.MovieClip.constructor=n.MovieClip,n.MovieClip.prototype=Object.create(n.Sprite.prototype),n.MovieClip.prototype.stop=function(){this.playing=!1},n.MovieClip.prototype.play=function(){this.playing=!0},n.MovieClip.prototype.gotoAndStop=function(t){this.playing=!1,this.currentFrame=t;var e=0|this.currentFrame+.5;this.setTexture(this.textures[e%this.textures.length])},n.MovieClip.prototype.gotoAndPlay=function(t){this.currentFrame=t,this.playing=!0},n.MovieClip.prototype.updateTransform=function(){if(n.Sprite.prototype.updateTransform.call(this),this.playing){this.currentFrame+=this.animationSpeed;var t=0|this.currentFrame+.5;this.loop||this.textures.length>t?this.setTexture(this.textures[t%this.textures.length]):t>=this.textures.length&&(this.gotoAndStop(this.textures.length-1),this.onComplete&&this.onComplete())}},n.FilterBlock=function(t){this.graphics=t,this.visible=!0,this.renderable=!0},n.Text=function(t,e){this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d"),n.Sprite.call(this,n.Texture.fromCanvas(this.canvas)),this.setText(t),this.setStyle(e),this.updateText(),this.dirty=!1},n.Text.constructor=n.Text,n.Text.prototype=Object.create(n.Sprite.prototype),n.Text.prototype.setStyle=function(t){t=t||{},t.font=t.font||"bold 20pt Arial",t.fill=t.fill||"black",t.align=t.align||"left",t.stroke=t.stroke||"black",t.strokeThickness=t.strokeThickness||0,t.wordWrap=t.wordWrap||!1,t.wordWrapWidth=t.wordWrapWidth||100,this.style=t,this.dirty=!0},n.Sprite.prototype.setText=function(t){this.text=""+t||" ",this.dirty=!0},n.Text.prototype.updateText=function(){this.context.font=this.style.font;var t=this.text;this.style.wordWrap&&(t=this.wordWrap(this.text));for(var e=t.split(/(?:\r\n|\r|\n)/),i=[],r=0,s=0;e.length>s;s++){var a=this.context.measureText(e[s]).width;i[s]=a,r=Math.max(r,a)}this.canvas.width=r+this.style.strokeThickness;var o=this.determineFontHeight("font: "+this.style.font+";")+this.style.strokeThickness;for(this.canvas.height=o*e.length,this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.lineWidth=this.style.strokeThickness,this.context.textBaseline="top",s=0;e.length>s;s++){var h=new n.Point(this.style.strokeThickness/2,this.style.strokeThickness/2+s*o);"right"==this.style.align?h.x+=r-i[s]:"center"==this.style.align&&(h.x+=(r-i[s])/2),this.style.stroke&&this.style.strokeThickness&&this.context.strokeText(e[s],h.x,h.y),this.style.fill&&this.context.fillText(e[s],h.x,h.y)}this.updateTexture()},n.Text.prototype.updateTexture=function(){this.texture.baseTexture.width=this.canvas.width,this.texture.baseTexture.height=this.canvas.height,this.texture.frame.width=this.canvas.width,this.texture.frame.height=this.canvas.height,this._width=this.canvas.width,this._height=this.canvas.height,n.texturesToUpdate.push(this.texture.baseTexture)},n.Text.prototype.updateTransform=function(){this.dirty&&(this.updateText(),this.dirty=!1),n.Sprite.prototype.updateTransform.call(this)},n.Text.prototype.determineFontHeight=function(t){var e=n.Text.heightCache[t];if(!e){var i=document.getElementsByTagName("body")[0],r=document.createElement("div"),s=document.createTextNode("M");r.appendChild(s),r.setAttribute("style",t+";position:absolute;top:0;left:0"),i.appendChild(r),e=r.offsetHeight,n.Text.heightCache[t]=e,i.removeChild(r)}return e},n.Text.prototype.wordWrap=function(t){for(var e=function(t,e,i,r,n){var s=Math.floor((r-i)/2)+i;return s==i?1:n>=t.measureText(e.substring(0,s)).width?t.measureText(e.substring(0,s+1)).width>n?s:arguments.callee(t,e,s,r,n):arguments.callee(t,e,i,s,n)},i=function(t,i,r){if(r>=t.measureText(i).width||1>i.length)return i;var n=e(t,i,0,i.length,r);return i.substring(0,n)+"\n"+arguments.callee(t,i.substring(n),r)},r="",n=t.split("\n"),s=0;n.length>s;s++)r+=i(this.context,n[s],this.style.wordWrapWidth)+"\n";return r},n.Text.prototype.destroy=function(t){t&&this.texture.destroy()},n.Text.heightCache={},n.BitmapText=function(t,e){n.DisplayObjectContainer.call(this),this.setText(t),this.setStyle(e),this.updateText(),this.dirty=!1},n.BitmapText.constructor=n.BitmapText,n.BitmapText.prototype=Object.create(n.DisplayObjectContainer.prototype),n.BitmapText.prototype.setText=function(t){this.text=t||" ",this.dirty=!0},n.BitmapText.prototype.setStyle=function(t){t=t||{},t.align=t.align||"left",this.style=t;var e=t.font.split(" ");this.fontName=e[e.length-1],this.fontSize=e.length>=2?parseInt(e[e.length-2],10):n.BitmapText.fonts[this.fontName].size,this.dirty=!0},n.BitmapText.prototype.updateText=function(){for(var t=n.BitmapText.fonts[this.fontName],e=new n.Point,i=null,r=[],s=0,a=[],o=0,h=this.fontSize/t.size,l=0;this.text.length>l;l++){var u=this.text.charCodeAt(l);if(/(?:\r\n|\r|\n)/.test(this.text.charAt(l)))a.push(e.x),s=Math.max(s,e.x),o++,e.x=0,e.y+=t.lineHeight,i=null;else{var c=t.chars[u];c&&(i&&c[i]&&(e.x+=c.kerning[i]),r.push({texture:c.texture,line:o,charCode:u,position:new n.Point(e.x+c.xOffset,e.y+c.yOffset)}),e.x+=c.xAdvance,i=u)}}a.push(e.x),s=Math.max(s,e.x);var d=[];for(l=0;o>=l;l++){var p=0;"right"==this.style.align?p=s-a[l]:"center"==this.style.align&&(p=(s-a[l])/2),d.push(p)}for(l=0;r.length>l;l++){var f=new n.Sprite(r[l].texture);f.position.x=(r[l].position.x+d[r[l].line])*h,f.position.y=r[l].position.y*h,f.scale.x=f.scale.y=h,this.addChild(f)}this.width=e.x*h,this.height=(e.y+t.lineHeight)*h},n.BitmapText.prototype.updateTransform=function(){if(this.dirty){for(;this.children.length>0;)this.removeChild(this.getChildAt(0));this.updateText(),this.dirty=!1}n.DisplayObjectContainer.prototype.updateTransform.call(this)},n.BitmapText.fonts={},n.InteractionManager=function(t){this.stage=t,this.tempPoint=new n.Point,this.mouseoverEnabled=!0,this.mouse=new n.InteractionData,this.touchs={},this.pool=[],this.interactiveItems=[],this.last=0},n.InteractionManager.constructor=n.InteractionManager,n.InteractionManager.prototype.collectInteractiveSprite=function(t,e){for(var i=t.children,r=i.length,n=r-1;n>=0;n--){var s=i[n];s.visible&&(s.interactive?(e.interactiveChildren=!0,this.interactiveItems.push(s),s.children.length>0&&this.collectInteractiveSprite(s,s)):(s.__iParent=null,s.children.length>0&&this.collectInteractiveSprite(s,e)))}},n.InteractionManager.prototype.setTarget=function(t){window.navigator.msPointerEnabled&&(t.view.style["-ms-content-zooming"]="none",t.view.style["-ms-touch-action"]="none"),this.target=t,t.view.addEventListener("mousemove",this.onMouseMove.bind(this),!0),t.view.addEventListener("mousedown",this.onMouseDown.bind(this),!0),document.body.addEventListener("mouseup",this.onMouseUp.bind(this),!0),t.view.addEventListener("mouseout",this.onMouseUp.bind(this),!0),t.view.addEventListener("touchstart",this.onTouchStart.bind(this),!0),t.view.addEventListener("touchend",this.onTouchEnd.bind(this),!0),t.view.addEventListener("touchmove",this.onTouchMove.bind(this),!0)},n.InteractionManager.prototype.update=function(){if(this.target){var t=Date.now(),e=t-this.last;if(e=30*e/1e3,!(1>e)){if(this.last=t,this.dirty){this.dirty=!1;for(var i=this.interactiveItems.length,r=0;i>r;r++)this.interactiveItems[r].interactiveChildren=!1;this.interactiveItems=[],this.stage.interactive&&this.interactiveItems.push(this.stage),this.collectInteractiveSprite(this.stage,this.stage)}var n=this.interactiveItems.length;this.target.view.style.cursor="default";for(var r=0;n>r;r++){var s=this.interactiveItems[r];s.visible&&(s.mouseover||s.mouseout||s.buttonMode)&&(s.__hit=this.hitTest(s,this.mouse),s.__hit?(s.buttonMode&&(this.target.view.style.cursor="pointer"),s.__isOver||(s.mouseover&&s.mouseover(this.mouse),s.__isOver=!0)):s.__isOver&&(s.mouseout&&s.mouseout(this.mouse),s.__isOver=!1))}}}},n.InteractionManager.prototype.onMouseMove=function(t){this.mouse.originalEvent=t||window.event;var e=this.target.view.getBoundingClientRect();this.mouse.global.x=(t.clientX-e.left)*(this.target.width/e.width),this.mouse.global.y=(t.clientY-e.top)*(this.target.height/e.height);var i=this.interactiveItems.length;this.mouse.global;for(var r=0;i>r;r++){var n=this.interactiveItems[r];n.mousemove&&n.mousemove(this.mouse)}},n.InteractionManager.prototype.onMouseDown=function(t){t.preventDefault(),this.mouse.originalEvent=t||window.event;var e=this.interactiveItems.length;this.mouse.global,this.stage;for(var i=0;e>i;i++){var r=this.interactiveItems[i];if((r.mousedown||r.click)&&(r.__mouseIsDown=!0,r.__hit=this.hitTest(r,this.mouse),r.__hit&&(r.mousedown&&r.mousedown(this.mouse),r.__isDown=!0,!r.interactiveChildren)))break}},n.InteractionManager.prototype.onMouseUp=function(t){this.mouse.originalEvent=t||window.event,this.mouse.global;for(var e=this.interactiveItems.length,i=!1,r=0;e>r;r++){var n=this.interactiveItems[r];(n.mouseup||n.mouseupoutside||n.click)&&(n.__hit=this.hitTest(n,this.mouse),n.__hit&&!i?(n.mouseup&&n.mouseup(this.mouse),n.__isDown&&n.click&&n.click(this.mouse),n.interactiveChildren||(i=!0)):n.__isDown&&n.mouseupoutside&&n.mouseupoutside(this.mouse),n.__isDown=!1)}},n.InteractionManager.prototype.hitTest=function(t,e){var i=e.global;if(!t.visible)return!1;var r=t instanceof n.Sprite,s=t.worldTransform,a=s[0],o=s[1],h=s[2],l=s[3],u=s[4],c=s[5],d=1/(a*u+o*-l),p=u*d*i.x+-o*d*i.y+(c*o-h*u)*d,f=a*d*i.y+-l*d*i.x+(-c*a+h*l)*d;if(t.hitArea&&t.hitArea.contains){if(t.hitArea.contains(p,f))return r&&(e.target=t),!0}else if(r){var v,g=t.texture.frame.width,m=t.texture.frame.height,x=-g*t.anchor.x;if(p>x&&x+g>p&&(v=-m*t.anchor.y,f>v&&v+m>f))return e.target=t,!0}for(var b=t.children.length,y=0;b>y;y++){var T=t.children[y],_=this.hitTest(T,e);if(_)return!0}return!1},n.InteractionManager.prototype.onTouchMove=function(t){this.mouse.originalEvent=t||window.event;for(var e=this.target.view.getBoundingClientRect(),i=t.changedTouches,r=0;i.length>r;r++){var n=i[r],s=this.touchs[n.identifier];s.global.x=(n.clientX-e.left)*(this.target.width/e.width),s.global.y=(n.clientY-e.top)*(this.target.height/e.height)}for(var a=this.interactiveItems.length,r=0;a>r;r++){var o=this.interactiveItems[r];o.touchmove&&o.touchmove(s)}},n.InteractionManager.prototype.onTouchStart=function(t){t.preventDefault(),this.mouse.originalEvent=t||window.event;for(var e=this.target.view.getBoundingClientRect(),i=t.changedTouches,r=0;i.length>r;r++){var s=i[r],a=this.pool.pop();a||(a=new n.InteractionData),this.touchs[s.identifier]=a,a.global.x=(s.clientX-e.left)*(this.target.width/e.width),a.global.y=(s.clientY-e.top)*(this.target.height/e.height);for(var o=this.interactiveItems.length,h=0;o>h;h++){var l=this.interactiveItems[h];if((l.touchstart||l.tap)&&(l.__hit=this.hitTest(l,a),l.__hit&&(l.touchstart&&l.touchstart(a),l.__isDown=!0,l.__touchData=a,!l.interactiveChildren)))break}}},n.InteractionManager.prototype.onTouchEnd=function(t){this.mouse.originalEvent=t||window.event;for(var e=this.target.view.getBoundingClientRect(),i=t.changedTouches,r=0;i.length>r;r++){var n=i[r],s=this.touchs[n.identifier],a=!1;s.global.x=(n.clientX-e.left)*(this.target.width/e.width),s.global.y=(n.clientY-e.top)*(this.target.height/e.height);for(var o=this.interactiveItems.length,h=0;o>h;h++){var l=this.interactiveItems[h],u=l.__touchData;l.__hit=this.hitTest(l,s),u==s&&((l.touchend||l.tap)&&(l.__hit&&!a?(l.touchend&&l.touchend(s),l.__isDown&&l.tap&&l.tap(s),l.interactiveChildren||(a=!0)):l.__isDown&&l.touchendoutside&&l.touchendoutside(s),l.__isDown=!1),l.__touchData=null)}this.pool.push(s),this.touchs[n.identifier]=null}},n.InteractionData=function(){this.global=new n.Point,this.local=new n.Point,this.target,this.originalEvent},n.InteractionData.prototype.getLocalPosition=function(t){var e=t.worldTransform,i=this.global,r=e[0],s=e[1],a=e[2],o=e[3],h=e[4],l=e[5],u=1/(r*h+s*-o);return new n.Point(h*u*i.x+-s*u*i.y+(l*s-a*h)*u,r*u*i.y+-o*u*i.x+(-l*r+a*o)*u)},n.InteractionData.constructor=n.InteractionData,n.Stage=function(t,e){n.DisplayObjectContainer.call(this),this.worldTransform=n.mat3.create(),this.__childrenAdded=[],this.__childrenRemoved=[],this.stage=this,this.interactive=e,this.stage.hitArea=new n.Rectangle(0,0,1e5,1e5),this.interactionManager=new n.InteractionManager(this),this.setBackgroundColor(t),this.worldVisible=!0,this.stage.dirty=!0},n.Stage.constructor=n.Stage,n.Stage.prototype=Object.create(n.DisplayObjectContainer.prototype),n.Stage.prototype.updateTransform=function(){this.worldAlpha=1;for(var t=0,e=this.children.length;e>t;t++)this.children[t].updateTransform();this.dirty&&(this.dirty=!1,this.interactionManager.dirty=!0),this.interactive&&this.interactionManager.update()},n.Stage.prototype.setBackgroundColor=function(t){this.backgroundColor=t||0,this.backgroundColorSplit=e(this.backgroundColor);var i=this.backgroundColor.toString(16);i="000000".substr(0,6-i.length)+i,this.backgroundColorString="#"+i},n.Stage.prototype.getMousePosition=function(){return this.interactionManager.mouse.global};for(var s=0,o=["ms","moz","webkit","o"],h=0;o.length>h&&!window.requestAnimationFrame;++h)window.requestAnimationFrame=window[o[h]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[o[h]+"CancelAnimationFrame"]||window[o[h]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(t){var e=(new Date).getTime(),i=Math.max(0,16-(e-s)),r=window.setTimeout(function(){t(e+i)},i);return s=e+i,r}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(t){clearTimeout(t)}),window.requestAnimFrame=window.requestAnimationFrame,"function"!=typeof Function.prototype.bind&&(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var s=n.concat(t.call(arguments));r.apply(this instanceof i?this:e,s)}var r=this,n=t.call(arguments,1);if("function"!=typeof r)throw new TypeError;return i.prototype=function s(t){return t&&(s.prototype=t),this instanceof s?void 0:new s}(r.prototype),i}}());var l=n.AjaxRequest=function(){var t=["Msxml2.XMLHTTP","Microsoft.XMLHTTP"];if(!window.ActiveXObject)return window.XMLHttpRequest?new XMLHttpRequest:!1;for(var e=0;t.length>e;e++)try{return new ActiveXObject(t[e])}catch(i){}};n.runList=function(t){console.log(">>>>>>>>>"),console.log("_");var e=0,i=t.first;for(console.log(i);i._iNext;)if(e++,i=i._iNext,console.log(i),e>100){console.log("BREAK");break}},n.EventTarget=function(){var t={};this.addEventListener=this.on=function(e,i){void 0===t[e]&&(t[e]=[]),-1===t[e].indexOf(i)&&t[e].push(i)},this.dispatchEvent=this.emit=function(e){for(var i in t[e.type])t[e.type][i](e)},this.removeEventListener=this.off=function(e,i){var r=t[e].indexOf(i);-1!==r&&t[e].splice(r,1)}},n.autoDetectRenderer=function(t,e,i,r){t||(t=800),e||(e=600);var s=function(){try{return!!window.WebGLRenderingContext&&!!document.createElement("canvas").getContext("experimental-webgl")}catch(t){return!1}}();return s?new n.WebGLRenderer(t,e,i,r):new n.CanvasRenderer(t,e,i,r)},n.PolyK={},n.PolyK.Triangulate=function(t){var e=!0,i=t.length>>1;if(3>i)return[];for(var r=[],s=[],a=0;i>a;a++)s.push(a);for(var a=0,o=i;o>3;){var h=s[(a+0)%o],l=s[(a+1)%o],u=s[(a+2)%o],c=t[2*h],d=t[2*h+1],p=t[2*l],f=t[2*l+1],v=t[2*u],g=t[2*u+1],m=!1;if(n.PolyK._convex(c,d,p,f,v,g,e)){m=!0;for(var x=0;o>x;x++){var b=s[x];if(b!=h&&b!=l&&b!=u&&n.PolyK._PointInTriangle(t[2*b],t[2*b+1],c,d,p,f,v,g)){m=!1;break}}}if(m)r.push(h,l,u),s.splice((a+1)%o,1),o--,a=0;else if(a++>3*o){if(!e)return console.log("PIXI Warning: shape too complex to fill"),[];var r=[];s=[];for(var a=0;i>a;a++)s.push(a);a=0,o=i,e=!1}}return r.push(s[0],s[1],s[2]),r},n.PolyK._PointInTriangle=function(t,e,i,r,n,s,a,o){var h=a-i,l=o-r,u=n-i,c=s-r,d=t-i,p=e-r,f=h*h+l*l,v=h*u+l*c,g=h*d+l*p,m=u*u+c*c,x=u*d+c*p,b=1/(f*m-v*v),y=(m*g-v*x)*b,T=(f*x-v*g)*b;return y>=0&&T>=0&&1>y+T},n.PolyK._convex=function(t,e,i,r,n,s,a){return(e-r)*(n-i)+(i-t)*(s-r)>=0==a},n.shaderFragmentSrc=["precision mediump float;","varying vec2 vTextureCoord;","varying float vColor;","uniform sampler2D uSampler;","void main(void) {","gl_FragColor = texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y));","gl_FragColor = gl_FragColor * vColor;","}"],n.shaderVertexSrc=["attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aColor;","uniform vec2 projectionVector;","varying vec2 vTextureCoord;","varying float vColor;","void main(void) {","gl_Position = vec4( aVertexPosition.x / projectionVector.x -1.0, aVertexPosition.y / -projectionVector.y + 1.0 , 0.0, 1.0);","vTextureCoord = aTextureCoord;","vColor = aColor;","}"],n.stripShaderFragmentSrc=["precision mediump float;","varying vec2 vTextureCoord;","varying float vColor;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {","gl_FragColor = texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y));","gl_FragColor = gl_FragColor * alpha;","}"],n.stripShaderVertexSrc=["attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aColor;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","varying vec2 vTextureCoord;","varying float vColor;","void main(void) {","vec3 v = translationMatrix * vec3(aVertexPosition, 1.0);","gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);","vTextureCoord = aTextureCoord;","vColor = aColor;","}"],n.primitiveShaderFragmentSrc=["precision mediump float;","varying vec4 vColor;","void main(void) {","gl_FragColor = vColor;","}"],n.primitiveShaderVertexSrc=["attribute vec2 aVertexPosition;","attribute vec4 aColor;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform float alpha;","varying vec4 vColor;","void main(void) {","vec3 v = translationMatrix * vec3(aVertexPosition, 1.0);","gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);","vColor = aColor * alpha;","}"],n.initPrimitiveShader=function(){var t=n.gl,e=n.compileProgram(n.primitiveShaderVertexSrc,n.primitiveShaderFragmentSrc);t.useProgram(e),e.vertexPositionAttribute=t.getAttribLocation(e,"aVertexPosition"),e.colorAttribute=t.getAttribLocation(e,"aColor"),e.projectionVector=t.getUniformLocation(e,"projectionVector"),e.translationMatrix=t.getUniformLocation(e,"translationMatrix"),e.alpha=t.getUniformLocation(e,"alpha"),n.primitiveProgram=e},n.initDefaultShader=function(){var t=this.gl,e=n.compileProgram(n.shaderVertexSrc,n.shaderFragmentSrc);t.useProgram(e),e.vertexPositionAttribute=t.getAttribLocation(e,"aVertexPosition"),e.projectionVector=t.getUniformLocation(e,"projectionVector"),e.textureCoordAttribute=t.getAttribLocation(e,"aTextureCoord"),e.colorAttribute=t.getAttribLocation(e,"aColor"),e.samplerUniform=t.getUniformLocation(e,"uSampler"),n.shaderProgram=e},n.initDefaultStripShader=function(){var t=this.gl,e=n.compileProgram(n.stripShaderVertexSrc,n.stripShaderFragmentSrc);t.useProgram(e),e.vertexPositionAttribute=t.getAttribLocation(e,"aVertexPosition"),e.projectionVector=t.getUniformLocation(e,"projectionVector"),e.textureCoordAttribute=t.getAttribLocation(e,"aTextureCoord"),e.translationMatrix=t.getUniformLocation(e,"translationMatrix"),e.alpha=t.getUniformLocation(e,"alpha"),e.colorAttribute=t.getAttribLocation(e,"aColor"),e.projectionVector=t.getUniformLocation(e,"projectionVector"),e.samplerUniform=t.getUniformLocation(e,"uSampler"),n.stripShaderProgram=e},n.CompileVertexShader=function(t,e){return n._CompileShader(t,e,t.VERTEX_SHADER)},n.CompileFragmentShader=function(t,e){return n._CompileShader(t,e,t.FRAGMENT_SHADER)},n._CompileShader=function(t,e,i){var r=e.join("\n"),n=t.createShader(i);return t.shaderSource(n,r),t.compileShader(n),t.getShaderParameter(n,t.COMPILE_STATUS)?n:(alert(t.getShaderInfoLog(n)),null)},n.compileProgram=function(t,e){var i=n.gl,r=n.CompileFragmentShader(i,e),s=n.CompileVertexShader(i,t),a=i.createProgram();return i.attachShader(a,s),i.attachShader(a,r),i.linkProgram(a),i.getProgramParameter(a,i.LINK_STATUS)||alert("Could not initialise shaders"),a},n.activateDefaultShader=function(){var t=n.gl,e=n.shaderProgram;t.useProgram(e),t.enableVertexAttribArray(e.vertexPositionAttribute),t.enableVertexAttribArray(e.textureCoordAttribute),t.enableVertexAttribArray(e.colorAttribute)},n.activatePrimitiveShader=function(){var t=n.gl;t.disableVertexAttribArray(n.shaderProgram.textureCoordAttribute),t.disableVertexAttribArray(n.shaderProgram.colorAttribute),t.useProgram(n.primitiveProgram),t.enableVertexAttribArray(n.primitiveProgram.vertexPositionAttribute),t.enableVertexAttribArray(n.primitiveProgram.colorAttribute)},n.WebGLGraphics=function(){},n.WebGLGraphics.renderGraphics=function(t,e){var i=n.gl;t._webGL||(t._webGL={points:[],indices:[],lastIndex:0,buffer:i.createBuffer(),indexBuffer:i.createBuffer()}),t.dirty&&(t.dirty=!1,t.clearDirty&&(t.clearDirty=!1,t._webGL.lastIndex=0,t._webGL.points=[],t._webGL.indices=[]),n.WebGLGraphics.updateGraphics(t)),n.activatePrimitiveShader(); var r=n.mat3.clone(t.worldTransform);n.mat3.transpose(r),i.blendFunc(i.ONE,i.ONE_MINUS_SRC_ALPHA),i.uniformMatrix3fv(n.primitiveProgram.translationMatrix,!1,r),i.uniform2f(n.primitiveProgram.projectionVector,e.x,e.y),i.uniform1f(n.primitiveProgram.alpha,t.worldAlpha),i.bindBuffer(i.ARRAY_BUFFER,t._webGL.buffer),i.vertexAttribPointer(n.shaderProgram.vertexPositionAttribute,2,i.FLOAT,!1,0,0),i.vertexAttribPointer(n.primitiveProgram.vertexPositionAttribute,2,i.FLOAT,!1,24,0),i.vertexAttribPointer(n.primitiveProgram.colorAttribute,4,i.FLOAT,!1,24,8),i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,t._webGL.indexBuffer),i.drawElements(i.TRIANGLE_STRIP,t._webGL.indices.length,i.UNSIGNED_SHORT,0),n.activateDefaultShader()},n.WebGLGraphics.updateGraphics=function(t){for(var e=t._webGL.lastIndex;t.graphicsData.length>e;e++){var i=t.graphicsData[e];i.type==n.Graphics.POLY?(i.fill&&i.points.length>3&&n.WebGLGraphics.buildPoly(i,t._webGL),i.lineWidth>0&&n.WebGLGraphics.buildLine(i,t._webGL)):i.type==n.Graphics.RECT?n.WebGLGraphics.buildRectangle(i,t._webGL):(i.type==n.Graphics.CIRC||i.type==n.Graphics.ELIP)&&n.WebGLGraphics.buildCircle(i,t._webGL)}t._webGL.lastIndex=t.graphicsData.length;var r=n.gl;t._webGL.glPoints=new Float32Array(t._webGL.points),r.bindBuffer(r.ARRAY_BUFFER,t._webGL.buffer),r.bufferData(r.ARRAY_BUFFER,t._webGL.glPoints,r.STATIC_DRAW),t._webGL.glIndicies=new Uint16Array(t._webGL.indices),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,t._webGL.indexBuffer),r.bufferData(r.ELEMENT_ARRAY_BUFFER,t._webGL.glIndicies,r.STATIC_DRAW)},n.WebGLGraphics.buildRectangle=function(t,i){var r=t.points,s=r[0],a=r[1],o=r[2],h=r[3];if(t.fill){var l=e(t.fillColor),u=t.fillAlpha,c=l[0]*u,d=l[1]*u,p=l[2]*u,f=i.points,v=i.indices,g=f.length/6;f.push(s,a),f.push(c,d,p,u),f.push(s+o,a),f.push(c,d,p,u),f.push(s,a+h),f.push(c,d,p,u),f.push(s+o,a+h),f.push(c,d,p,u),v.push(g,g,g+1,g+2,g+3,g+3)}t.lineWidth&&(t.points=[s,a,s+o,a,s+o,a+h,s,a+h,s,a],n.WebGLGraphics.buildLine(t,i))},n.WebGLGraphics.buildCircle=function(t,i){var r=t.points,s=r[0],a=r[1],o=r[2],h=r[3],l=40,u=2*Math.PI/l;if(t.fill){var c=e(t.fillColor),d=t.fillAlpha,p=c[0]*d,f=c[1]*d,v=c[2]*d,g=i.points,m=i.indices,x=g.length/6;m.push(x);for(var b=0;l+1>b;b++)g.push(s,a,p,f,v,d),g.push(s+Math.sin(u*b)*o,a+Math.cos(u*b)*h,p,f,v,d),m.push(x++,x++);m.push(x-1)}if(t.lineWidth){t.points=[];for(var b=0;l+1>b;b++)t.points.push(s+Math.sin(u*b)*o,a+Math.cos(u*b)*h);n.WebGLGraphics.buildLine(t,i)}},n.WebGLGraphics.buildLine=function(t,i){var r=t.points;if(0!=r.length){var s=new n.Point(r[0],r[1]),a=new n.Point(r[r.length-2],r[r.length-1]);if(s.x==a.x&&s.y==a.y){r.pop(),r.pop(),a=new n.Point(r[r.length-2],r[r.length-1]);var o=a.x+.5*(s.x-a.x),h=a.y+.5*(s.y-a.y);r.unshift(o,h),r.push(o,h)}var l,u,c,d,p,f,v,g,m,x,b,y,T,_,w,A,R,S,C,L,E,P=i.points,B=i.indices,F=r.length/2,G=r.length,I=P.length/6,D=t.lineWidth/2,M=e(t.lineColor),O=t.lineAlpha,W=M[0]*O,U=M[1]*O,j=M[2]*O;l=r[0],u=r[1],c=r[2],d=r[3],v=-(u-d),g=l-c,E=Math.sqrt(v*v+g*g),v/=E,g/=E,v*=D,g*=D,P.push(l-v,u-g,W,U,j,O),P.push(l+v,u+g,W,U,j,O);for(var k=1;F-1>k;k++)l=r[2*(k-1)],u=r[2*(k-1)+1],c=r[2*k],d=r[2*k+1],p=r[2*(k+1)],f=r[2*(k+1)+1],v=-(u-d),g=l-c,E=Math.sqrt(v*v+g*g),v/=E,g/=E,v*=D,g*=D,m=-(d-f),x=c-p,E=Math.sqrt(m*m+x*x),m/=E,x/=E,m*=D,x*=D,T=-g+u-(-g+d),_=-v+c-(-v+l),w=(-v+l)*(-g+d)-(-v+c)*(-g+u),A=-x+f-(-x+d),R=-m+c-(-m+p),S=(-m+p)*(-x+d)-(-m+c)*(-x+f),C=T*R-A*_,0==C&&(C+=1),px=(_*S-R*w)/C,py=(A*w-T*S)/C,L=(px-c)*(px-c)+(py-d)+(py-d),L>19600?(b=v-m,y=g-x,E=Math.sqrt(b*b+y*y),b/=E,y/=E,b*=D,y*=D,P.push(c-b,d-y),P.push(W,U,j,O),P.push(c+b,d+y),P.push(W,U,j,O),P.push(c-b,d-y),P.push(W,U,j,O),G++):(P.push(px,py),P.push(W,U,j,O),P.push(c-(px-c),d-(py-d)),P.push(W,U,j,O));l=r[2*(F-2)],u=r[2*(F-2)+1],c=r[2*(F-1)],d=r[2*(F-1)+1],v=-(u-d),g=l-c,E=Math.sqrt(v*v+g*g),v/=E,g/=E,v*=D,g*=D,P.push(c-v,d-g),P.push(W,U,j,O),P.push(c+v,d+g),P.push(W,U,j,O),B.push(I);for(var k=0;G>k;k++)B.push(I++);B.push(I-1)}},n.WebGLGraphics.buildPoly=function(t,i){var r=t.points;if(!(6>r.length)){for(var s=i.points,a=i.indices,o=r.length/2,h=e(t.fillColor),l=t.fillAlpha,u=h[0]*l,c=h[1]*l,d=h[2]*l,p=n.PolyK.Triangulate(r),f=s.length/6,v=0;p.length>v;v+=3)a.push(p[v]+f),a.push(p[v]+f),a.push(p[v+1]+f),a.push(p[v+2]+f),a.push(p[v+2]+f);for(var v=0;o>v;v++)s.push(r[2*v],r[2*v+1],u,c,d,l)}},n._defaultFrame=new n.Rectangle(0,0,1,1),n.gl,n.WebGLRenderer=function(t,e,i,r){this.transparent=!!r,this.width=t||800,this.height=e||600,this.view=i||document.createElement("canvas"),this.view.width=this.width,this.view.height=this.height;var s=this;this.view.addEventListener("webglcontextlost",function(t){s.handleContextLost(t)},!1),this.view.addEventListener("webglcontextrestored",function(t){s.handleContextRestored(t)},!1),this.batchs=[];try{n.gl=this.gl=this.view.getContext("experimental-webgl",{alpha:this.transparent,antialias:!0,premultipliedAlpha:!1,stencil:!0})}catch(a){throw Error(" This browser does not support webGL. Try using the canvas renderer"+this)}n.initPrimitiveShader(),n.initDefaultShader(),n.initDefaultStripShader(),n.activateDefaultShader();var o=this.gl;n.WebGLRenderer.gl=o,this.batch=new n.WebGLBatch(o),o.disable(o.DEPTH_TEST),o.disable(o.CULL_FACE),o.enable(o.BLEND),o.colorMask(!0,!0,!0,this.transparent),n.projection=new n.Point(400,300),this.resize(this.width,this.height),this.contextLost=!1,this.stageRenderGroup=new n.WebGLRenderGroup(this.gl)},n.WebGLRenderer.constructor=n.WebGLRenderer,n.WebGLRenderer.getBatch=function(){return 0==n._batchs.length?new n.WebGLBatch(n.WebGLRenderer.gl):n._batchs.pop()},n.WebGLRenderer.returnBatch=function(t){t.clean(),n._batchs.push(t)},n.WebGLRenderer.prototype.render=function(t){if(!this.contextLost){this.__stage!==t&&(this.__stage=t,this.stageRenderGroup.setRenderable(t)),n.WebGLRenderer.updateTextures(),t.updateTransform();var e=this.gl;if(e.colorMask(!0,!0,!0,this.transparent),e.viewport(0,0,this.width,this.height),e.bindFramebuffer(e.FRAMEBUFFER,null),e.clearColor(t.backgroundColorSplit[0],t.backgroundColorSplit[1],t.backgroundColorSplit[2],!this.transparent),e.clear(e.COLOR_BUFFER_BIT),this.stageRenderGroup.backgroundColor=t.backgroundColorSplit,this.stageRenderGroup.render(n.projection),t.interactive&&(t._interactiveEventsAdded||(t._interactiveEventsAdded=!0,t.interactionManager.setTarget(this))),n.Texture.frameUpdates.length>0){for(var i=0;n.Texture.frameUpdates.length>i;i++)n.Texture.frameUpdates[i].updateFrame=!1;n.Texture.frameUpdates=[]}}},n.WebGLRenderer.updateTextures=function(){for(var t=0;n.texturesToUpdate.length>t;t++)this.updateTexture(n.texturesToUpdate[t]);for(var t=0;n.texturesToDestroy.length>t;t++)this.destroyTexture(n.texturesToDestroy[t]);n.texturesToUpdate=[],n.texturesToDestroy=[]},n.WebGLRenderer.updateTexture=function(t){var e=n.gl;t._glTexture||(t._glTexture=e.createTexture()),t.hasLoaded&&(e.bindTexture(e.TEXTURE_2D,t._glTexture),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,t.source),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),t._powerOf2?(e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.REPEAT)):(e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE)),e.bindTexture(e.TEXTURE_2D,null))},n.WebGLRenderer.prototype.destroyTexture=function(t){var e=this.gl;t._glTexture&&(t._glTexture=e.createTexture(),e.deleteTexture(e.TEXTURE_2D,t._glTexture))},n.WebGLRenderer.prototype.resize=function(t,e){this.width=t,this.height=e,this.view.width=t,this.view.height=e,this.gl.viewport(0,0,this.width,this.height),n.projection.x=this.width/2,n.projection.y=this.height/2},n.WebGLRenderer.prototype.handleContextLost=function(t){t.preventDefault(),this.contextLost=!0},n.WebGLRenderer.prototype.handleContextRestored=function(){this.gl=this.view.getContext("experimental-webgl",{alpha:!0}),this.initShaders();for(var t in n.TextureCache){var e=n.TextureCache[t].baseTexture;e._glTexture=null,n.WebGLRenderer.updateTexture(e)}for(var i=0;this.batchs.length>i;i++)this.batchs[i].restoreLostContext(this.gl),this.batchs[i].dirty=!0;n._restoreBatchs(this.gl),this.contextLost=!1},n._batchs=[],n._getBatch=function(t){return 0==n._batchs.length?new n.WebGLBatch(t):n._batchs.pop()},n._returnBatch=function(t){t.clean(),n._batchs.push(t)},n._restoreBatchs=function(t){for(var e=0;n._batchs.length>e;e++)n._batchs[e].restoreLostContext(t)},n.WebGLBatch=function(t){this.gl=t,this.size=0,this.vertexBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.blendMode=n.blendModes.NORMAL,this.dynamicSize=1},n.WebGLBatch.constructor=n.WebGLBatch,n.WebGLBatch.prototype.clean=function(){this.verticies=[],this.uvs=[],this.indices=[],this.colors=[],this.dynamicSize=1,this.texture=null,this.last=null,this.size=0,this.head,this.tail},n.WebGLBatch.prototype.restoreLostContext=function(t){this.gl=t,this.vertexBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer()},n.WebGLBatch.prototype.init=function(t){t.batch=this,this.dirty=!0,this.blendMode=t.blendMode,this.texture=t.texture.baseTexture,this.head=t,this.tail=t,this.size=1,this.growBatch()},n.WebGLBatch.prototype.insertBefore=function(t,e){this.size++,t.batch=this,this.dirty=!0;var i=e.__prev;e.__prev=t,t.__next=e,i?(t.__prev=i,i.__next=t):this.head=t},n.WebGLBatch.prototype.insertAfter=function(t,e){this.size++,t.batch=this,this.dirty=!0;var i=e.__next;e.__next=t,t.__prev=e,i?(t.__next=i,i.__prev=t):this.tail=t},n.WebGLBatch.prototype.remove=function(t){return this.size--,0==this.size?(t.batch=null,t.__prev=null,t.__next=null,void 0):(t.__prev?t.__prev.__next=t.__next:(this.head=t.__next,this.head.__prev=null),t.__next?t.__next.__prev=t.__prev:(this.tail=t.__prev,this.tail.__next=null),t.batch=null,t.__next=null,t.__prev=null,this.dirty=!0,void 0)},n.WebGLBatch.prototype.split=function(t){this.dirty=!0;var e=new n.WebGLBatch(this.gl);e.init(t),e.texture=this.texture,e.tail=this.tail,this.tail=t.__prev,this.tail.__next=null,t.__prev=null;for(var i=0;t;)i++,t.batch=e,t=t.__next;return e.size=i,this.size-=i,e},n.WebGLBatch.prototype.merge=function(t){this.dirty=!0,this.tail.__next=t.head,t.head.__prev=this.tail,this.size+=t.size,this.tail=t.tail;for(var e=t.head;e;)e.batch=this,e=e.__next},n.WebGLBatch.prototype.growBatch=function(){var t=this.gl;this.dynamicSize=1==this.size?1:1.5*this.size,this.verticies=new Float32Array(8*this.dynamicSize),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.verticies,t.DYNAMIC_DRAW),this.uvs=new Float32Array(8*this.dynamicSize),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvs,t.DYNAMIC_DRAW),this.dirtyUVS=!0,this.colors=new Float32Array(4*this.dynamicSize),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colors,t.DYNAMIC_DRAW),this.dirtyColors=!0,this.indices=new Uint16Array(6*this.dynamicSize);for(var e=this.indices.length/6,i=0;e>i;i++){var r=6*i,n=4*i;this.indices[r+0]=n+0,this.indices[r+1]=n+1,this.indices[r+2]=n+2,this.indices[r+3]=n+0,this.indices[r+4]=n+2,this.indices[r+5]=n+3}t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,this.indices,t.STATIC_DRAW)},n.WebGLBatch.prototype.refresh=function(){this.gl,this.dynamicSizer;r++)i=this.batchs[r],i instanceof n.WebGLBatch?this.batchs[r].render():i instanceof n.TilingSprite?i.visible&&this.renderTilingSprite(i,t):i instanceof n.Strip?i.visible&&this.renderStrip(i,t):i instanceof n.Graphics?i.visible&&i.renderable&&n.WebGLGraphics.renderGraphics(i,t):i instanceof n.FilterBlock&&(i.open?(e.enable(e.STENCIL_TEST),e.colorMask(!1,!1,!1,!1),e.stencilFunc(e.ALWAYS,1,255),e.stencilOp(e.KEEP,e.KEEP,e.REPLACE),n.WebGLGraphics.renderGraphics(i.mask,t),e.colorMask(!0,!0,!0,!1),e.stencilFunc(e.NOTEQUAL,0,255),e.stencilOp(e.KEEP,e.KEEP,e.KEEP)):e.disable(e.STENCIL_TEST))},n.WebGLRenderGroup.prototype.handleFilter=function(){},n.WebGLRenderGroup.prototype.renderSpecific=function(t,e){n.WebGLRenderer.updateTextures();var i=this.gl;this.checkVisibility(t,t.visible),i.uniform2f(n.shaderProgram.projectionVector,e.x,e.y);for(var r,s,a,o,h=t.last;h._iNext&&(h=h._iNext,!h.renderable||!h.__renderGroup););var l=h.batch;if(h instanceof n.Sprite){l=h.batch;var u=l.head;if(u==h)r=0;else for(r=1;u.__next!=h;)r++,u=u.__next}else l=h;for(var c,d=t,p=t;p.children.length>0;)p=p.children[p.children.length-1],p.renderable&&(d=p);if(d instanceof n.Sprite){c=d.batch;var u=c.head;if(u==d)a=0;else for(a=1;u.__next!=d;)a++,u=u.__next}else c=d;if(l==c)return l instanceof n.WebGLBatch?l.render(r,a+1):this.renderSpecial(l),void 0;s=this.batchs.indexOf(l),o=this.batchs.indexOf(c),l instanceof n.WebGLBatch?l.render(r):this.renderSpecial(l);for(var f=s+1;o>f;f++)renderable=this.batchs[f],renderable instanceof n.WebGLBatch?this.batchs[f].render():this.renderSpecial(renderable);c instanceof n.WebGLBatch?c.render(0,a+1):this.renderSpecial(c)},n.WebGLRenderGroup.prototype.renderSpecial=function(t){t instanceof n.TilingSprite?t.visible&&this.renderTilingSprite(t,projectionMatrix):t instanceof n.Strip?t.visible&&this.renderStrip(t,projectionMatrix):t instanceof n.CustomRenderable?t.visible&&t.renderWebGL(this,projectionMatrix):t instanceof n.Graphics?t.visible&&t.renderable&&n.WebGLGraphics.renderGraphics(t):t instanceof n.FilterBlock&&(t.open?(gl.enable(gl.STENCIL_TEST),gl.colorMask(!1,!1,!1,!1),gl.stencilFunc(gl.ALWAYS,1,255),gl.stencilOp(gl.KEEP,gl.KEEP,gl.REPLACE),n.WebGLGraphics.renderGraphics(t.mask,projection),gl.colorMask(!0,!0,!0,!1),gl.stencilFunc(gl.NOTEQUAL,0,255),gl.stencilOp(gl.KEEP,gl.KEEP,gl.KEEP)):gl.disable(gl.STENCIL_TEST))},n.WebGLRenderGroup.prototype.checkVisibility=function(t,e){for(var i=t.children,r=0;i.length>r;r++){var n=i[r];n.worldVisible=n.visible&&e,n.textureChange&&(n.textureChange=!1,n.worldVisible&&this.updateTexture(n)),n.children.length>0&&this.checkVisibility(n,n.worldVisible)}},n.WebGLRenderGroup.prototype.updateTexture=function(t){this.removeObject(t);for(var e=t.first;e!=this.root&&(e=e._iPrev,!e.renderable||!e.__renderGroup););for(var i=t.last;i._iNext&&(i=i._iNext,!i.renderable||!i.__renderGroup););this.insertObject(t,e,i)},n.WebGLRenderGroup.prototype.addFilterBlocks=function(t,e){t.__renderGroup=this,e.__renderGroup=this;for(var i=t;i!=this.root&&(i=i._iPrev,!i.renderable||!i.__renderGroup););this.insertAfter(t,i);for(var r=e;r!=this.root&&(r=r._iPrev,!r.renderable||!r.__renderGroup););this.insertAfter(e,r)},n.WebGLRenderGroup.prototype.removeFilterBlocks=function(t,e){this.removeObject(t),this.removeObject(e)},n.WebGLRenderGroup.prototype.addDisplayObjectAndChildren=function(t){t.__renderGroup&&t.__renderGroup.removeDisplayObjectAndChildren(t);for(var e=t.first;e!=this.root&&(e=e._iPrev,!e.renderable||!e.__renderGroup););for(var i=t.last;i._iNext&&(i=i._iNext,!i.renderable||!i.__renderGroup););var r=t.first,n=t.last._iNext;do r.__renderGroup=this,r.renderable&&(this.insertObject(r,e,i),e=r),r=r._iNext;while(r!=n)},n.WebGLRenderGroup.prototype.removeDisplayObjectAndChildren=function(t){if(t.__renderGroup==this){t.last;do t.__renderGroup=null,t.renderable&&this.removeObject(t),t=t._iNext;while(t)}},n.WebGLRenderGroup.prototype.insertObject=function(t,e,i){var r=e,s=i;if(t instanceof n.Sprite){var a,o;if(r instanceof n.Sprite){if(a=r.batch,a&&a.texture==t.texture.baseTexture&&a.blendMode==t.blendMode)return a.insertAfter(t,r),void 0}else a=r;if(s)if(s instanceof n.Sprite){if(o=s.batch){if(o.texture==t.texture.baseTexture&&o.blendMode==t.blendMode)return o.insertBefore(t,s),void 0;if(o==a){var h=a.split(s),l=n.WebGLRenderer.getBatch(),u=this.batchs.indexOf(a);return l.init(t),this.batchs.splice(u+1,0,l,h),void 0}}}else o=s;var l=n.WebGLRenderer.getBatch();if(l.init(t),a){var u=this.batchs.indexOf(a);this.batchs.splice(u+1,0,l)}else this.batchs.push(l)}else t instanceof n.TilingSprite?this.initTilingSprite(t):t instanceof n.Strip&&this.initStrip(t),this.insertAfter(t,r)},n.WebGLRenderGroup.prototype.insertAfter=function(t,e){if(e instanceof n.Sprite){var i=e.batch;if(i)if(i.tail==e){var r=this.batchs.indexOf(i);this.batchs.splice(r+1,0,t)}else{var s=i.split(e.__next),r=this.batchs.indexOf(i);this.batchs.splice(r+1,0,t,s)}else this.batchs.push(t)}else{var r=this.batchs.indexOf(e);this.batchs.splice(r+1,0,t)}},n.WebGLRenderGroup.prototype.removeObject=function(t){var e;if(t instanceof n.Sprite){var i=t.batch;if(!i)return;i.remove(t),0==i.size&&(e=i)}else e=t;if(e){var r=this.batchs.indexOf(e);if(-1==r)return;if(0==r||r==this.batchs.length-1)return this.batchs.splice(r,1),e instanceof n.WebGLBatch&&n.WebGLRenderer.returnBatch(e),void 0;if(this.batchs[r-1]instanceof n.WebGLBatch&&this.batchs[r+1]instanceof n.WebGLBatch&&this.batchs[r-1].texture==this.batchs[r+1].texture&&this.batchs[r-1].blendMode==this.batchs[r+1].blendMode)return this.batchs[r-1].merge(this.batchs[r+1]),e instanceof n.WebGLBatch&&n.WebGLRenderer.returnBatch(e),n.WebGLRenderer.returnBatch(this.batchs[r+1]),this.batchs.splice(r,2),void 0;this.batchs.splice(r,1),e instanceof n.WebGLBatch&&n.WebGLRenderer.returnBatch(e)}},n.WebGLRenderGroup.prototype.initTilingSprite=function(t){var e=this.gl;t.verticies=new Float32Array([0,0,t.width,0,t.width,t.height,0,t.height]),t.uvs=new Float32Array([0,0,1,0,1,1,0,1]),t.colors=new Float32Array([1,1,1,1]),t.indices=new Uint16Array([0,1,3,2]),t._vertexBuffer=e.createBuffer(),t._indexBuffer=e.createBuffer(),t._uvBuffer=e.createBuffer(),t._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,t._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,t.verticies,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,t._uvBuffer),e.bufferData(e.ARRAY_BUFFER,t.uvs,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,t._colorBuffer),e.bufferData(e.ARRAY_BUFFER,t.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,t.indices,e.STATIC_DRAW),t.texture.baseTexture._glTexture?(e.bindTexture(e.TEXTURE_2D,t.texture.baseTexture._glTexture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.REPEAT),t.texture.baseTexture._powerOf2=!0):t.texture.baseTexture._powerOf2=!0},n.WebGLRenderGroup.prototype.renderStrip=function(t,e){var i=this.gl,r=n.shaderProgram;i.useProgram(n.stripShaderProgram);var s=n.mat3.clone(t.worldTransform);n.mat3.transpose(s),i.uniformMatrix3fv(n.stripShaderProgram.translationMatrix,!1,s),i.uniform2f(n.stripShaderProgram.projectionVector,e.x,e.y),i.uniform1f(n.stripShaderProgram.alpha,t.worldAlpha),t.dirty?(t.dirty=!1,i.bindBuffer(i.ARRAY_BUFFER,t._vertexBuffer),i.bufferData(i.ARRAY_BUFFER,t.verticies,i.STATIC_DRAW),i.vertexAttribPointer(r.vertexPositionAttribute,2,i.FLOAT,!1,0,0),i.bindBuffer(i.ARRAY_BUFFER,t._uvBuffer),i.bufferData(i.ARRAY_BUFFER,t.uvs,i.STATIC_DRAW),i.vertexAttribPointer(r.textureCoordAttribute,2,i.FLOAT,!1,0,0),i.activeTexture(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,t.texture.baseTexture._glTexture),i.bindBuffer(i.ARRAY_BUFFER,t._colorBuffer),i.bufferData(i.ARRAY_BUFFER,t.colors,i.STATIC_DRAW),i.vertexAttribPointer(r.colorAttribute,1,i.FLOAT,!1,0,0),i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,t._indexBuffer),i.bufferData(i.ELEMENT_ARRAY_BUFFER,t.indices,i.STATIC_DRAW)):(i.bindBuffer(i.ARRAY_BUFFER,t._vertexBuffer),i.bufferSubData(i.ARRAY_BUFFER,0,t.verticies),i.vertexAttribPointer(r.vertexPositionAttribute,2,i.FLOAT,!1,0,0),i.bindBuffer(i.ARRAY_BUFFER,t._uvBuffer),i.vertexAttribPointer(r.textureCoordAttribute,2,i.FLOAT,!1,0,0),i.activeTexture(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,t.texture.baseTexture._glTexture),i.bindBuffer(i.ARRAY_BUFFER,t._colorBuffer),i.vertexAttribPointer(r.colorAttribute,1,i.FLOAT,!1,0,0),i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,t._indexBuffer)),i.drawElements(i.TRIANGLE_STRIP,t.indices.length,i.UNSIGNED_SHORT,0),i.useProgram(n.shaderProgram)},n.WebGLRenderGroup.prototype.renderTilingSprite=function(t,e){var i=this.gl;n.shaderProgram;var r=t.tilePosition,s=t.tileScale,a=r.x/t.texture.baseTexture.width,o=r.y/t.texture.baseTexture.height,h=t.width/t.texture.baseTexture.width/s.x,l=t.height/t.texture.baseTexture.height/s.y;t.uvs[0]=0-a,t.uvs[1]=0-o,t.uvs[2]=1*h-a,t.uvs[3]=0-o,t.uvs[4]=1*h-a,t.uvs[5]=1*l-o,t.uvs[6]=0-a,t.uvs[7]=1*l-o,i.bindBuffer(i.ARRAY_BUFFER,t._uvBuffer),i.bufferSubData(i.ARRAY_BUFFER,0,t.uvs),this.renderStrip(t,e)},n.WebGLRenderGroup.prototype.initStrip=function(t){var e=this.gl;this.shaderProgram,t._vertexBuffer=e.createBuffer(),t._indexBuffer=e.createBuffer(),t._uvBuffer=e.createBuffer(),t._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,t._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,t.verticies,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,t._uvBuffer),e.bufferData(e.ARRAY_BUFFER,t.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,t._colorBuffer),e.bufferData(e.ARRAY_BUFFER,t.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,t.indices,e.STATIC_DRAW)},n.CanvasRenderer=function(t,e,i,r){this.transparent=r,this.width=t||800,this.height=e||600,this.refresh=!0,this.view=i||document.createElement("canvas"),this.view.width=this.width,this.view.height=this.height,this.count=0,this.context=this.view.getContext("2d")},n.CanvasRenderer.constructor=n.CanvasRenderer,n.CanvasRenderer.prototype.render=function(t){n.texturesToUpdate=[],n.texturesToDestroy=[],t.updateTransform(),this.view.style.backgroundColor==t.backgroundColorString||this.transparent||(this.view.style.backgroundColor=t.backgroundColorString),this.context.setTransform(1,0,0,1,0,0),this.context.clearRect(0,0,this.width,this.height),this.renderDisplayObject(t),t.interactive&&(t._interactiveEventsAdded||(t._interactiveEventsAdded=!0,t.interactionManager.setTarget(this))),n.Texture.frameUpdates.length>0&&(n.Texture.frameUpdates=[])},n.CanvasRenderer.prototype.resize=function(t,e){this.width=t,this.height=e,this.view.width=t,this.view.height=e},n.CanvasRenderer.prototype.renderDisplayObject=function(t){var e,i=this.context;i.globalCompositeOperation="source-over";var r=t.last._iNext;t=t.first;do if(e=t.worldTransform,t.visible)if(t.renderable){if(t instanceof n.Sprite){var s=t.texture.frame;s&&(i.globalAlpha=t.worldAlpha,i.setTransform(e[0],e[3],e[1],e[4],e[2],e[5]),i.drawImage(t.texture.baseTexture.source,s.x,s.y,s.width,s.height,t.anchor.x*-s.width,t.anchor.y*-s.height,s.width,s.height))}else if(t instanceof n.Strip)i.setTransform(e[0],e[3],e[1],e[4],e[2],e[5]),this.renderStrip(t);else if(t instanceof n.TilingSprite)i.setTransform(e[0],e[3],e[1],e[4],e[2],e[5]),this.renderTilingSprite(t);else if(t instanceof n.CustomRenderable)t.renderCanvas(this);else if(t instanceof n.Graphics)i.setTransform(e[0],e[3],e[1],e[4],e[2],e[5]),n.CanvasGraphics.renderGraphics(t,i);else if(t instanceof n.FilterBlock)if(t.open){i.save();var a=t.mask.alpha,o=t.mask.worldTransform;i.setTransform(o[0],o[3],o[1],o[4],o[2],o[5]),t.mask.worldAlpha=.5,i.worldAlpha=0,n.CanvasGraphics.renderGraphicsMask(t.mask,i),i.clip(),t.mask.worldAlpha=a}else i.restore();t=t._iNext}else t=t._iNext;else t=t.last._iNext;while(t!=r)},n.CanvasRenderer.prototype.renderStripFlat=function(t){var e=this.context,i=t.verticies;t.uvs;var r=i.length/2;this.count++,e.beginPath();for(var n=1;r-2>n;n++){var s=2*n,a=i[s],o=i[s+2],h=i[s+4],l=i[s+1],u=i[s+3],c=i[s+5];e.moveTo(a,l),e.lineTo(o,u),e.lineTo(h,c)}e.fillStyle="#FF0000",e.fill(),e.closePath()},n.CanvasRenderer.prototype.renderTilingSprite=function(t){var e=this.context;e.globalAlpha=t.worldAlpha,t.__tilePattern||(t.__tilePattern=e.createPattern(t.texture.baseTexture.source,"repeat")),e.beginPath();var i=t.tilePosition,r=t.tileScale;e.scale(r.x,r.y),e.translate(i.x,i.y),e.fillStyle=t.__tilePattern,e.fillRect(-i.x,-i.y,t.width/r.x,t.height/r.y),e.scale(1/r.x,1/r.y),e.translate(-i.x,-i.y),e.closePath()},n.CanvasRenderer.prototype.renderStrip=function(t){var e=this.context,i=t.verticies,r=t.uvs,n=i.length/2;this.count++;for(var s=1;n-2>s;s++){var a=2*s,o=i[a],h=i[a+2],l=i[a+4],u=i[a+1],c=i[a+3],d=i[a+5],p=r[a]*t.texture.width,f=r[a+2]*t.texture.width,v=r[a+4]*t.texture.width,g=r[a+1]*t.texture.height,m=r[a+3]*t.texture.height,x=r[a+5]*t.texture.height;e.save(),e.beginPath(),e.moveTo(o,u),e.lineTo(h,c),e.lineTo(l,d),e.closePath(),e.clip();var b=p*m+g*v+f*x-m*v-g*f-p*x,y=o*m+g*l+h*x-m*l-g*h-o*x,T=p*h+o*v+f*l-h*v-o*f-p*l,_=p*m*l+g*h*v+o*f*x-o*m*v-g*f*l-p*h*x,w=u*m+g*d+c*x-m*d-g*c-u*x,A=p*c+u*v+f*d-c*v-u*f-p*d,R=p*m*d+g*c*v+u*f*x-u*m*v-g*f*d-p*c*x;e.transform(y/b,w/b,T/b,A/b,_/b,R/b),e.drawImage(t.texture.baseTexture.source,0,0),e.restore()}},n.CanvasGraphics=function(){},n.CanvasGraphics.renderGraphics=function(t,e){for(var i=t.worldAlpha,r=0;t.graphicsData.length>r;r++){var s=t.graphicsData[r],a=s.points;if(e.strokeStyle=color="#"+("00000"+(0|s.lineColor).toString(16)).substr(-6),e.lineWidth=s.lineWidth,s.type==n.Graphics.POLY){e.beginPath(),e.moveTo(a[0],a[1]);for(var o=1;a.length/2>o;o++)e.lineTo(a[2*o],a[2*o+1]);a[0]==a[a.length-2]&&a[1]==a[a.length-1]&&e.closePath(),s.fill&&(e.globalAlpha=s.fillAlpha*i,e.fillStyle=color="#"+("00000"+(0|s.fillColor).toString(16)).substr(-6),e.fill()),s.lineWidth&&(e.globalAlpha=s.lineAlpha*i,e.stroke())}else if(s.type==n.Graphics.RECT)s.fillColor&&(e.globalAlpha=s.fillAlpha*i,e.fillStyle=color="#"+("00000"+(0|s.fillColor).toString(16)).substr(-6),e.rect(a[0],a[1],a[2],a[3])),s.lineWidth&&(e.globalAlpha=s.lineAlpha*i,e.strokeRect(a[0],a[1],a[2],a[3]));else if(s.type==n.Graphics.CIRC)e.beginPath(),e.arc(a[0],a[1],a[2],0,2*Math.PI),e.closePath(),s.fill&&(e.globalAlpha=s.fillAlpha*i,e.fillStyle=color="#"+("00000"+(0|s.fillColor).toString(16)).substr(-6),e.fill()),s.lineWidth&&(e.globalAlpha=s.lineAlpha*i,e.stroke());else if(s.type==n.Graphics.ELIP){var h=s.points,l=2*h[2],u=2*h[3],c=h[0]-l/2,d=h[1]-u/2;e.beginPath();var p=.5522848,f=l/2*p,v=u/2*p,g=c+l,m=d+u,x=c+l/2,b=d+u/2;e.moveTo(c,b),e.bezierCurveTo(c,b-v,x-f,d,x,d),e.bezierCurveTo(x+f,d,g,b-v,g,b),e.bezierCurveTo(g,b+v,x+f,m,x,m),e.bezierCurveTo(x-f,m,c,b+v,c,b),e.closePath(),s.fill&&(e.globalAlpha=s.fillAlpha*i,e.fillStyle=color="#"+("00000"+(0|s.fillColor).toString(16)).substr(-6),e.fill()),s.lineWidth&&(e.globalAlpha=s.lineAlpha*i,e.stroke())}}},n.CanvasGraphics.renderGraphicsMask=function(t,e){t.worldAlpha;var i=t.graphicsData.length;i>1&&(i=1,console.log("Pixi.js warning: masks in canvas can only mask using the first path in the graphics object"));for(var r=0;1>r;r++){var s=t.graphicsData[r],a=s.points;if(s.type==n.Graphics.POLY){e.beginPath(),e.moveTo(a[0],a[1]);for(var o=1;a.length/2>o;o++)e.lineTo(a[2*o],a[2*o+1]);a[0]==a[a.length-2]&&a[1]==a[a.length-1]&&e.closePath()}else if(s.type==n.Graphics.RECT)e.beginPath(),e.rect(a[0],a[1],a[2],a[3]),e.closePath();else if(s.type==n.Graphics.CIRC)e.beginPath(),e.arc(a[0],a[1],a[2],0,2*Math.PI),e.closePath();else if(s.type==n.Graphics.ELIP){var h=s.points,l=2*h[2],u=2*h[3],c=h[0]-l/2,d=h[1]-u/2;e.beginPath();var p=.5522848,f=l/2*p,v=u/2*p,g=c+l,m=d+u,x=c+l/2,b=d+u/2;e.moveTo(c,b),e.bezierCurveTo(c,b-v,x-f,d,x,d),e.bezierCurveTo(x+f,d,g,b-v,g,b),e.bezierCurveTo(g,b+v,x+f,m,x,m),e.bezierCurveTo(x-f,m,c,b+v,c,b),e.closePath()}}},n.Graphics=function(){n.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor="black",this.graphicsData=[],this.currentPath={points:[]}},n.Graphics.constructor=n.Graphics,n.Graphics.prototype=Object.create(n.DisplayObjectContainer.prototype),n.Graphics.prototype.lineStyle=function(t,e,i){0==this.currentPath.points.length&&this.graphicsData.pop(),this.lineWidth=t||0,this.lineColor=e||0,this.lineAlpha=void 0==i?1:i,this.currentPath={lineWidth:this.lineWidth,lineColor:this.lineColor,lineAlpha:this.lineAlpha,fillColor:this.fillColor,fillAlpha:this.fillAlpha,fill:this.filling,points:[],type:n.Graphics.POLY},this.graphicsData.push(this.currentPath)},n.Graphics.prototype.moveTo=function(t,e){0==this.currentPath.points.length&&this.graphicsData.pop(),this.currentPath=this.currentPath={lineWidth:this.lineWidth,lineColor:this.lineColor,lineAlpha:this.lineAlpha,fillColor:this.fillColor,fillAlpha:this.fillAlpha,fill:this.filling,points:[],type:n.Graphics.POLY},this.currentPath.points.push(t,e),this.graphicsData.push(this.currentPath)},n.Graphics.prototype.lineTo=function(t,e){this.currentPath.points.push(t,e),this.dirty=!0},n.Graphics.prototype.beginFill=function(t,e){this.filling=!0,this.fillColor=t||0,this.fillAlpha=e||1},n.Graphics.prototype.endFill=function(){this.filling=!1,this.fillColor=null,this.fillAlpha=1 },n.Graphics.prototype.drawRect=function(t,e,i,r){0==this.currentPath.points.length&&this.graphicsData.pop(),this.currentPath={lineWidth:this.lineWidth,lineColor:this.lineColor,lineAlpha:this.lineAlpha,fillColor:this.fillColor,fillAlpha:this.fillAlpha,fill:this.filling,points:[t,e,i,r],type:n.Graphics.RECT},this.graphicsData.push(this.currentPath),this.dirty=!0},n.Graphics.prototype.drawCircle=function(t,e,i){0==this.currentPath.points.length&&this.graphicsData.pop(),this.currentPath={lineWidth:this.lineWidth,lineColor:this.lineColor,lineAlpha:this.lineAlpha,fillColor:this.fillColor,fillAlpha:this.fillAlpha,fill:this.filling,points:[t,e,i,i],type:n.Graphics.CIRC},this.graphicsData.push(this.currentPath),this.dirty=!0},n.Graphics.prototype.drawElipse=function(t,e,i,r){0==this.currentPath.points.length&&this.graphicsData.pop(),this.currentPath={lineWidth:this.lineWidth,lineColor:this.lineColor,lineAlpha:this.lineAlpha,fillColor:this.fillColor,fillAlpha:this.fillAlpha,fill:this.filling,points:[t,e,i,r],type:n.Graphics.ELIP},this.graphicsData.push(this.currentPath),this.dirty=!0},n.Graphics.prototype.clear=function(){this.lineWidth=0,this.filling=!1,this.dirty=!0,this.clearDirty=!0,this.graphicsData=[]},n.Graphics.POLY=0,n.Graphics.RECT=1,n.Graphics.CIRC=2,n.Graphics.ELIP=3,n.Strip=function(t,e,i){n.DisplayObjectContainer.call(this),this.texture=t,this.blendMode=n.blendModes.NORMAL;try{this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.verticies=new Float32Array([0,0,0,0,0,0,0,0,0]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3])}catch(r){this.uvs=[0,1,1,1,1,0,0,1],this.verticies=[0,0,0,0,0,0,0,0,0],this.colors=[1,1,1,1],this.indices=[0,1,2,3]}this.width=e,this.height=i,t.baseTexture.hasLoaded?(this.width=this.texture.frame.width,this.height=this.texture.frame.height,this.updateFrame=!0):(this.onTextureUpdateBind=this.onTextureUpdate.bind(this),this.texture.addEventListener("update",this.onTextureUpdateBind)),this.renderable=!0},n.Strip.constructor=n.Strip,n.Strip.prototype=Object.create(n.DisplayObjectContainer.prototype),n.Strip.prototype.setTexture=function(t){this.texture=t,this.width=t.frame.width,this.height=t.frame.height,this.updateFrame=!0},n.Strip.prototype.onTextureUpdate=function(){this.updateFrame=!0},n.Rope=function(t,e){n.Strip.call(this,t),this.points=e;try{this.verticies=new Float32Array(4*e.length),this.uvs=new Float32Array(4*e.length),this.colors=new Float32Array(2*e.length),this.indices=new Uint16Array(2*e.length)}catch(i){this.verticies=verticies,this.uvs=uvs,this.colors=colors,this.indices=indices}this.refresh()},n.Rope.constructor=n.Rope,n.Rope.prototype=Object.create(n.Strip.prototype),n.Rope.prototype.refresh=function(){var t=this.points;if(!(1>t.length)){var e=this.uvs,i=this.indices,r=this.colors,n=t[0],s=t[0];this.count-=.2,e[0]=0,e[1]=1,e[2]=0,e[3]=1,r[0]=1,r[1]=1,i[0]=0,i[1]=1;for(var a=t.length,o=1;a>o;o++){var s=t[o],h=4*o,l=o/(a-1);o%2?(e[h]=l,e[h+1]=0,e[h+2]=l,e[h+3]=1):(e[h]=l,e[h+1]=0,e[h+2]=l,e[h+3]=1),h=2*o,r[h]=1,r[h+1]=1,h=2*o,i[h]=h,i[h+1]=h+1,n=s}}},n.Rope.prototype.updateTransform=function(){var t=this.points;if(!(1>t.length)){var e,i=this.verticies,r=t[0],s={x:0,y:0},a=t[0];this.count-=.2,i[0]=a.x+s.x,i[1]=a.y+s.y,i[2]=a.x-s.x,i[3]=a.y-s.y;for(var o=t.length,h=1;o>h;h++){var a=t[h],l=4*h;e=t.length-1>h?t[h+1]:a,s.y=-(e.x-r.x),s.x=e.y-r.y;var u=10*(1-h/(o-1));u>1&&(u=1);var c=Math.sqrt(s.x*s.x+s.y*s.y),d=this.texture.height/2;s.x/=c,s.y/=c,s.x*=d,s.y*=d,i[l]=a.x+s.x,i[l+1]=a.y+s.y,i[l+2]=a.x-s.x,i[l+3]=a.y-s.y,r=a}n.DisplayObjectContainer.prototype.updateTransform.call(this)}},n.Rope.prototype.setTexture=function(t){this.texture=t,this.updateFrame=!0},n.TilingSprite=function(t,e,i){n.DisplayObjectContainer.call(this),this.texture=t,this.width=e,this.height=i,this.renderable=!0,this.tileScale=new n.Point(1,1),this.tilePosition=new n.Point(0,0),this.blendMode=n.blendModes.NORMAL},n.TilingSprite.constructor=n.TilingSprite,n.TilingSprite.prototype=Object.create(n.DisplayObjectContainer.prototype),n.TilingSprite.prototype.setTexture=function(t){this.texture=t,this.updateFrame=!0},n.TilingSprite.prototype.onTextureUpdate=function(){this.updateFrame=!0},n.Spine=function(t){if(n.DisplayObjectContainer.call(this),this.spineData=n.AnimCache[t],!this.spineData)throw Error("Spine data must be preloaded using PIXI.SpineLoader or PIXI.AssetLoader: "+t);this.count=0,this.sprites=[],this.skeleton=new u.Skeleton(this.spineData),this.skeleton.updateWorldTransform(),this.stateData=new u.AnimationStateData(this.spineData),this.state=new u.AnimationState(this.stateData);for(var e=0;this.skeleton.drawOrder.length>e;e++){var i=this.skeleton.drawOrder[e].data.attachmentName;n.TextureCache[i]||(i+=".png");var r=new n.Sprite(n.Texture.fromFrame(i));r.anchor.x=r.anchor.y=.5,this.addChild(r),this.sprites.push(r)}},n.Spine.constructor=n.Spine,n.Spine.prototype=Object.create(n.DisplayObjectContainer.prototype),n.Spine.prototype.updateTransform=function(){this.state.update(1/60),this.state.apply(this.skeleton),this.skeleton.updateWorldTransform();for(var t=0;this.skeleton.drawOrder.length>t;t++){var e=this.skeleton.drawOrder[t],i=e.bone.worldX+e.attachment.x*e.bone.m00+e.attachment.y*e.bone.m01+.5*e.attachment.width,r=e.bone.worldY+e.attachment.x*e.bone.m10+e.attachment.y*e.bone.m11+.5*e.attachment.height;if(e.cacheName!=e.attachment.name){var s=e.attachment.name;n.TextureCache[s]||(s+=".png"),this.sprites[t].setTexture(n.TextureCache[s]),e.cacheName=e.attachment.name}i+=-(e.attachment.width*(e.bone.worldScaleX+e.attachment.scaleX-1)>>1),r+=-(e.attachment.height*(e.bone.worldScaleY+e.attachment.scaleY-1)>>1),this.sprites[t].position.x=i,this.sprites[t].position.y=r,this.sprites[t].rotation=-(e.bone.worldRotation+e.attachment.rotation)*(Math.PI/180)}n.DisplayObjectContainer.prototype.updateTransform.call(this)};var u={};u.BoneData=function(t,e){this.name=t,this.parent=e},u.BoneData.prototype={length:0,x:0,y:0,rotation:0,scaleX:1,scaleY:1},u.SlotData=function(t,e){this.name=t,this.boneData=e},u.SlotData.prototype={r:1,g:1,b:1,a:1,attachmentName:null},u.Bone=function(t,e){this.data=t,this.parent=e,this.setToSetupPose()},u.Bone.yDown=!1,u.Bone.prototype={x:0,y:0,rotation:0,scaleX:1,scaleY:1,m00:0,m01:0,worldX:0,m10:0,m11:0,worldY:0,worldRotation:0,worldScaleX:1,worldScaleY:1,updateWorldTransform:function(t,e){var i=this.parent;null!=i?(this.worldX=this.x*i.m00+this.y*i.m01+i.worldX,this.worldY=this.x*i.m10+this.y*i.m11+i.worldY,this.worldScaleX=i.worldScaleX*this.scaleX,this.worldScaleY=i.worldScaleY*this.scaleY,this.worldRotation=i.worldRotation+this.rotation):(this.worldX=this.x,this.worldY=this.y,this.worldScaleX=this.scaleX,this.worldScaleY=this.scaleY,this.worldRotation=this.rotation);var r=this.worldRotation*Math.PI/180,n=Math.cos(r),s=Math.sin(r);this.m00=n*this.worldScaleX,this.m10=s*this.worldScaleX,this.m01=-s*this.worldScaleY,this.m11=n*this.worldScaleY,t&&(this.m00=-this.m00,this.m01=-this.m01),e&&(this.m10=-this.m10,this.m11=-this.m11),u.Bone.yDown&&(this.m10=-this.m10,this.m11=-this.m11)},setToSetupPose:function(){var t=this.data;this.x=t.x,this.y=t.y,this.rotation=t.rotation,this.scaleX=t.scaleX,this.scaleY=t.scaleY}},u.Slot=function(t,e,i){this.data=t,this.skeleton=e,this.bone=i,this.setToSetupPose()},u.Slot.prototype={r:1,g:1,b:1,a:1,_attachmentTime:0,attachment:null,setAttachment:function(t){this.attachment=t,this._attachmentTime=this.skeleton.time},setAttachmentTime:function(t){this._attachmentTime=this.skeleton.time-t},getAttachmentTime:function(){return this.skeleton.time-this._attachmentTime},setToSetupPose:function(){var t=this.data;this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a;for(var e=this.skeleton.data.slots,i=0,r=e.length;r>i;i++)if(e[i]==t){this.setAttachment(t.attachmentName?this.skeleton.getAttachmentBySlotIndex(i,t.attachmentName):null);break}}},u.Skin=function(t){this.name=t,this.attachments={}},u.Skin.prototype={addAttachment:function(t,e,i){this.attachments[t+":"+e]=i},getAttachment:function(t,e){return this.attachments[t+":"+e]},_attachAll:function(t,e){for(var i in e.attachments){var r=i.indexOf(":"),n=parseInt(i.substring(0,r)),s=i.substring(r+1),a=t.slots[n];if(a.attachment&&a.attachment.name==s){var o=this.getAttachment(n,s);o&&a.setAttachment(o)}}}},u.Animation=function(t,e,i){this.name=t,this.timelines=e,this.duration=i},u.Animation.prototype={apply:function(t,e,i){i&&0!=this.duration&&(e%=this.duration);for(var r=this.timelines,n=0,s=r.length;s>n;n++)r[n].apply(t,e,1)},mix:function(t,e,i,r){i&&0!=this.duration&&(e%=this.duration);for(var n=this.timelines,s=0,a=n.length;a>s;s++)n[s].apply(t,e,r)}},u.binarySearch=function(t,e,i){var r=0,n=Math.floor(t.length/i)-2;if(0==n)return i;for(var s=n>>>1;;){if(e>=t[(s+1)*i]?r=s+1:n=s,r==n)return(r+1)*i;s=r+n>>>1}},u.linearSearch=function(t,e,i){for(var r=0,n=t.length-i;n>=r;r+=i)if(t[r]>e)return r;return-1},u.Curves=function(t){this.curves=[],this.curves.length=6*(t-1)},u.Curves.prototype={setLinear:function(t){this.curves[6*t]=0},setStepped:function(t){this.curves[6*t]=-1},setCurve:function(t,e,i,r,n){var s=.1,a=s*s,o=a*s,h=3*s,l=3*a,u=6*a,c=6*o,d=2*-e+r,p=2*-i+n,f=3*(e-r)+1,v=3*(i-n)+1,g=6*t,m=this.curves;m[g]=e*h+d*l+f*o,m[g+1]=i*h+p*l+v*o,m[g+2]=d*u+f*c,m[g+3]=p*u+v*c,m[g+4]=f*c,m[g+5]=v*c},getCurvePercent:function(t,e){e=0>e?0:e>1?1:e;var i=6*t,r=this.curves,n=r[i];if(!n)return e;if(-1==n)return 0;for(var s=r[i+1],a=r[i+2],o=r[i+3],h=r[i+4],l=r[i+5],u=n,c=s,d=8;;){if(u>=e){var p=u-n,f=c-s;return f+(c-f)*(e-p)/(u-p)}if(0==d)break;d--,n+=a,s+=o,a+=h,o+=l,u+=n,c+=s}return c+(1-c)*(e-u)/(1-u)}},u.RotateTimeline=function(t){this.curves=new u.Curves(t),this.frames=[],this.frames.length=2*t},u.RotateTimeline.prototype={boneIndex:0,getFrameCount:function(){return this.frames.length/2},setFrame:function(t,e,i){t*=2,this.frames[t]=e,this.frames[t+1]=i},apply:function(t,e,i){var r=this.frames;if(!(r[0]>e)){var n=t.bones[this.boneIndex];if(e>=r[r.length-2]){for(var s=n.data.rotation+r[r.length-1]-n.rotation;s>180;)s-=360;for(;-180>s;)s+=360;return n.rotation+=s*i,void 0}var a=u.binarySearch(r,e,2),o=r[a-1],h=r[a],l=1-(e-h)/(r[a-2]-h);l=this.curves.getCurvePercent(a/2-1,l);for(var s=r[a+1]-o;s>180;)s-=360;for(;-180>s;)s+=360;for(s=n.data.rotation+(o+s*l)-n.rotation;s>180;)s-=360;for(;-180>s;)s+=360;n.rotation+=s*i}}},u.TranslateTimeline=function(t){this.curves=new u.Curves(t),this.frames=[],this.frames.length=3*t},u.TranslateTimeline.prototype={boneIndex:0,getFrameCount:function(){return this.frames.length/3},setFrame:function(t,e,i,r){t*=3,this.frames[t]=e,this.frames[t+1]=i,this.frames[t+2]=r},apply:function(t,e,i){var r=this.frames;if(!(r[0]>e)){var n=t.bones[this.boneIndex];if(e>=r[r.length-3])return n.x+=(n.data.x+r[r.length-2]-n.x)*i,n.y+=(n.data.y+r[r.length-1]-n.y)*i,void 0;var s=u.binarySearch(r,e,3),a=r[s-2],o=r[s-1],h=r[s],l=1-(e-h)/(r[s+-3]-h);l=this.curves.getCurvePercent(s/3-1,l),n.x+=(n.data.x+a+(r[s+1]-a)*l-n.x)*i,n.y+=(n.data.y+o+(r[s+2]-o)*l-n.y)*i}}},u.ScaleTimeline=function(t){this.curves=new u.Curves(t),this.frames=[],this.frames.length=3*t},u.ScaleTimeline.prototype={boneIndex:0,getFrameCount:function(){return this.frames.length/3},setFrame:function(t,e,i,r){t*=3,this.frames[t]=e,this.frames[t+1]=i,this.frames[t+2]=r},apply:function(t,e,i){var r=this.frames;if(!(r[0]>e)){var n=t.bones[this.boneIndex];if(e>=r[r.length-3])return n.scaleX+=(n.data.scaleX-1+r[r.length-2]-n.scaleX)*i,n.scaleY+=(n.data.scaleY-1+r[r.length-1]-n.scaleY)*i,void 0;var s=u.binarySearch(r,e,3),a=r[s-2],o=r[s-1],h=r[s],l=1-(e-h)/(r[s+-3]-h);l=this.curves.getCurvePercent(s/3-1,l),n.scaleX+=(n.data.scaleX-1+a+(r[s+1]-a)*l-n.scaleX)*i,n.scaleY+=(n.data.scaleY-1+o+(r[s+2]-o)*l-n.scaleY)*i}}},u.ColorTimeline=function(t){this.curves=new u.Curves(t),this.frames=[],this.frames.length=5*t},u.ColorTimeline.prototype={slotIndex:0,getFrameCount:function(){return this.frames.length/2},setFrame:function(t,e){t*=5,this.frames[t]=e,this.frames[t+1]=r,this.frames[t+2]=g,this.frames[t+3]=b,this.frames[t+4]=a},apply:function(t,e,i){var r=this.frames;if(!(r[0]>e)){var n=t.slots[this.slotIndex];if(e>=r[r.length-5]){var s=r.length-1;return n.r=r[s-3],n.g=r[s-2],n.b=r[s-1],n.a=r[s],void 0}var a=u.binarySearch(r,e,5),o=r[a-4],h=r[a-3],l=r[a-2],c=r[a-1],d=r[a],p=1-(e-d)/(r[a-5]-d);p=this.curves.getCurvePercent(a/5-1,p);var f=o+(r[a+1]-o)*p,v=h+(r[a+2]-h)*p,g=l+(r[a+3]-l)*p,m=c+(r[a+4]-c)*p;1>i?(n.r+=(f-n.r)*i,n.g+=(v-n.g)*i,n.b+=(g-n.b)*i,n.a+=(m-n.a)*i):(n.r=f,n.g=v,n.b=g,n.a=m)}}},u.AttachmentTimeline=function(t){this.curves=new u.Curves(t),this.frames=[],this.frames.length=t,this.attachmentNames=[],this.attachmentNames.length=t},u.AttachmentTimeline.prototype={slotIndex:0,getFrameCount:function(){return this.frames.length/2},setFrame:function(t,e,i){this.frames[t]=e,this.attachmentNames[t]=i},apply:function(t,e){var i=this.frames;if(!(i[0]>e)){var r;r=e>=i[i.length-1]?i.length-1:u.binarySearch(i,e,1)-1;var n=this.attachmentNames[r];t.slots[this.slotIndex].setAttachment(n?t.getAttachmentBySlotIndex(this.slotIndex,n):null)}}},u.SkeletonData=function(){this.bones=[],this.slots=[],this.skins=[],this.animations=[]},u.SkeletonData.prototype={defaultSkin:null,findBone:function(t){for(var e=this.bones,i=0,r=e.length;r>i;i++)if(e[i].name==t)return e[i];return null},findBoneIndex:function(t){for(var e=this.bones,i=0,r=e.length;r>i;i++)if(e[i].name==t)return i;return-1},findSlot:function(t){for(var e=this.slots,i=0,r=e.length;r>i;i++)if(e[i].name==t)return slot[i];return null},findSlotIndex:function(t){for(var e=this.slots,i=0,r=e.length;r>i;i++)if(e[i].name==t)return i;return-1},findSkin:function(t){for(var e=this.skins,i=0,r=e.length;r>i;i++)if(e[i].name==t)return e[i];return null},findAnimation:function(t){for(var e=this.animations,i=0,r=e.length;r>i;i++)if(e[i].name==t)return e[i];return null}},u.Skeleton=function(t){this.data=t,this.bones=[];for(var e=0,i=t.bones.length;i>e;e++){var r=t.bones[e],n=r.parent?this.bones[t.bones.indexOf(r.parent)]:null;this.bones.push(new u.Bone(r,n))}this.slots=[],this.drawOrder=[];for(var e=0,i=t.slots.length;i>e;e++){var s=t.slots[e],a=this.bones[t.bones.indexOf(s.boneData)],o=new u.Slot(s,this,a);this.slots.push(o),this.drawOrder.push(o)}},u.Skeleton.prototype={x:0,y:0,skin:null,r:1,g:1,b:1,a:1,time:0,flipX:!1,flipY:!1,updateWorldTransform:function(){for(var t=this.flipX,e=this.flipY,i=this.bones,r=0,n=i.length;n>r;r++)i[r].updateWorldTransform(t,e)},setToSetupPose:function(){this.setBonesToSetupPose(),this.setSlotsToSetupPose()},setBonesToSetupPose:function(){for(var t=this.bones,e=0,i=t.length;i>e;e++)t[e].setToSetupPose()},setSlotsToSetupPose:function(){for(var t=this.slots,e=0,i=t.length;i>e;e++)t[e].setToSetupPose(e)},getRootBone:function(){return 0==this.bones.length?null:this.bones[0]},findBone:function(t){for(var e=this.bones,i=0,r=e.length;r>i;i++)if(e[i].data.name==t)return e[i];return null},findBoneIndex:function(t){for(var e=this.bones,i=0,r=e.length;r>i;i++)if(e[i].data.name==t)return i;return-1},findSlot:function(t){for(var e=this.slots,i=0,r=e.length;r>i;i++)if(e[i].data.name==t)return e[i];return null},findSlotIndex:function(t){for(var e=this.slots,i=0,r=e.length;r>i;i++)if(e[i].data.name==t)return i;return-1},setSkinByName:function(t){var e=this.data.findSkin(t);if(!e)throw"Skin not found: "+t;this.setSkin(e)},setSkin:function(t){this.skin&&t&&t._attachAll(this,this.skin),this.skin=t},getAttachmentBySlotName:function(t,e){return this.getAttachmentBySlotIndex(this.data.findSlotIndex(t),e)},getAttachmentBySlotIndex:function(t,e){if(this.skin){var i=this.skin.getAttachment(t,e);if(i)return i}return this.data.defaultSkin?this.data.defaultSkin.getAttachment(t,e):null},setAttachment:function(t,e){for(var i=this.slots,r=0,n=i.size;n>r;r++){var s=i[r];if(s.data.name==t){var a=null;if(e&&(a=this.getAttachment(r,e),null==a))throw"Attachment not found: "+e+", for slot: "+t;return s.setAttachment(a),void 0}}throw"Slot not found: "+t},update:function(t){time+=t}},u.AttachmentType={region:0},u.RegionAttachment=function(){this.offset=[],this.offset.length=8,this.uvs=[],this.uvs.length=8},u.RegionAttachment.prototype={x:0,y:0,rotation:0,scaleX:1,scaleY:1,width:0,height:0,rendererObject:null,regionOffsetX:0,regionOffsetY:0,regionWidth:0,regionHeight:0,regionOriginalWidth:0,regionOriginalHeight:0,setUVs:function(t,e,i,r,n){var s=this.uvs;n?(s[2]=t,s[3]=r,s[4]=t,s[5]=e,s[6]=i,s[7]=e,s[0]=i,s[1]=r):(s[0]=t,s[1]=r,s[2]=t,s[3]=e,s[4]=i,s[5]=e,s[6]=i,s[7]=r)},updateOffset:function(){var t=this.width/this.regionOriginalWidth*this.scaleX,e=this.height/this.regionOriginalHeight*this.scaleY,i=-this.width/2*this.scaleX+this.regionOffsetX*t,r=-this.height/2*this.scaleY+this.regionOffsetY*e,n=i+this.regionWidth*t,s=r+this.regionHeight*e,a=this.rotation*Math.PI/180,o=Math.cos(a),h=Math.sin(a),l=i*o+this.x,u=i*h,c=r*o+this.y,d=r*h,p=n*o+this.x,f=n*h,v=s*o+this.y,g=s*h,m=this.offset;m[0]=l-d,m[1]=c+u,m[2]=l-g,m[3]=v+u,m[4]=p-g,m[5]=v+f,m[6]=p-d,m[7]=c+f},computeVertices:function(t,e,i,r){t+=i.worldX,e+=i.worldY;var n=i.m00,s=i.m01,a=i.m10,o=i.m11,h=this.offset;r[0]=h[0]*n+h[1]*s+t,r[1]=h[0]*a+h[1]*o+e,r[2]=h[2]*n+h[3]*s+t,r[3]=h[2]*a+h[3]*o+e,r[4]=h[4]*n+h[5]*s+t,r[5]=h[4]*a+h[5]*o+e,r[6]=h[6]*n+h[7]*s+t,r[7]=h[6]*a+h[7]*o+e}},u.AnimationStateData=function(t){this.skeletonData=t,this.animationToMixTime={}},u.AnimationStateData.prototype={setMixByName:function(t,e,i){var r=this.skeletonData.findAnimation(t);if(!r)throw"Animation not found: "+t;var n=this.skeletonData.findAnimation(e);if(!n)throw"Animation not found: "+e;this.setMix(r,n,i)},setMix:function(t,e,i){this.animationToMixTime[t.name+":"+e.name]=i},getMix:function(t,e){var i=this.animationToMixTime[t.name+":"+e.name];return i?i:0}},u.AnimationState=function(t){this.data=t,this.queue=[]},u.AnimationState.prototype={current:null,previous:null,currentTime:0,previousTime:0,currentLoop:!1,previousLoop:!1,mixTime:0,mixDuration:0,update:function(t){if(this.currentTime+=t,this.previousTime+=t,this.mixTime+=t,this.queue.length>0){var e=this.queue[0];this.currentTime>=e.delay&&(this._setAnimation(e.animation,e.loop),this.queue.shift())}},apply:function(t){if(this.current)if(this.previous){this.previous.apply(t,this.previousTime,this.previousLoop);var e=this.mixTime/this.mixDuration;e>=1&&(e=1,this.previous=null),this.current.mix(t,this.currentTime,this.currentLoop,e)}else this.current.apply(t,this.currentTime,this.currentLoop)},clearAnimation:function(){this.previous=null,this.current=null,this.queue.length=0},_setAnimation:function(t,e){this.previous=null,t&&this.current&&(this.mixDuration=this.data.getMix(this.current,t),this.mixDuration>0&&(this.mixTime=0,this.previous=this.current,this.previousTime=this.currentTime,this.previousLoop=this.currentLoop)),this.current=t,this.currentLoop=e,this.currentTime=0},setAnimationByName:function(t,e){var i=this.data.skeletonData.findAnimation(t);if(!i)throw"Animation not found: "+t;this.setAnimation(i,e)},setAnimation:function(t,e){this.queue.length=0,this._setAnimation(t,e)},addAnimationByName:function(t,e,i){var r=this.data.skeletonData.findAnimation(t);if(!r)throw"Animation not found: "+t;this.addAnimation(r,e,i)},addAnimation:function(t,e,i){var r={};if(r.animation=t,r.loop=e,!i||0>=i){var n=0==this.queue.length?this.current:this.queue[this.queue.length-1].animation;i=null!=n?n.duration-this.data.getMix(n,t)+(i||0):0}r.delay=i,this.queue.push(r)},isComplete:function(){return!this.current||this.currentTime>=this.current.duration}},u.SkeletonJson=function(t){this.attachmentLoader=t},u.SkeletonJson.prototype={scale:1,readSkeletonData:function(t){for(var e=new u.SkeletonData,i=t.bones,r=0,n=i.length;n>r;r++){var s=i[r],a=null;if(s.parent&&(a=e.findBone(s.parent),!a))throw"Parent bone not found: "+s.parent;var o=new u.BoneData(s.name,a);o.length=(s.length||0)*this.scale,o.x=(s.x||0)*this.scale,o.y=(s.y||0)*this.scale,o.rotation=s.rotation||0,o.scaleX=s.scaleX||1,o.scaleY=s.scaleY||1,e.bones.push(o)}for(var h=t.slots,r=0,n=h.length;n>r;r++){var l=h[r],o=e.findBone(l.bone);if(!o)throw"Slot bone not found: "+l.bone;var c=new u.SlotData(l.name,o),d=l.color;d&&(c.r=u.SkeletonJson.toColor(d,0),c.g=u.SkeletonJson.toColor(d,1),c.b=u.SkeletonJson.toColor(d,2),c.a=u.SkeletonJson.toColor(d,3)),c.attachmentName=l.attachment,e.slots.push(c)}var p=t.skins;for(var f in p)if(p.hasOwnProperty(f)){var v=p[f],g=new u.Skin(f);for(var m in v)if(v.hasOwnProperty(m)){var x=e.findSlotIndex(m),b=v[m];for(var y in b)if(b.hasOwnProperty(y)){var T=this.readAttachment(g,y,b[y]);null!=T&&g.addAttachment(x,y,T)}}e.skins.push(g),"default"==g.name&&(e.defaultSkin=g)}var _=t.animations;for(var w in _)_.hasOwnProperty(w)&&this.readAnimation(w,_[w],e);return e},readAttachment:function(t,e,i){e=i.name||e;var r=u.AttachmentType[i.type||"region"],n=new u.RegionAttachment;return n.name=e,r==u.AttachmentType.region&&(n.x=(i.x||0)*this.scale,n.y=(i.y||0)*this.scale,n.scaleX=i.scaleX||1,n.scaleY=i.scaleY||1,n.rotation=i.rotation||0,n.width=(i.width||32)*this.scale,n.height=(i.height||32)*this.scale,n.updateOffset()),n},readAnimation:function(t,e,i){var r=[],n=0,s=e.bones;for(var a in s)if(s.hasOwnProperty(a)){var o=i.findBoneIndex(a);if(-1==o)throw"Bone not found: "+a;var h=s[a];for(var l in h)if(h.hasOwnProperty(l)){var c=h[l];if("rotate"==l){var d=new u.RotateTimeline(c.length);d.boneIndex=o;for(var p=0,f=0,v=c.length;v>f;f++){var g=c[f];d.setFrame(p,g.time,g.angle),u.SkeletonJson.readCurve(d,p,g),p++}r.push(d),n=Math.max(n,d.frames[2*d.getFrameCount()-2])}else{if("translate"!=l&&"scale"!=l)throw"Invalid timeline type for a bone: "+l+" ("+a+")";var d,m=1;"scale"==l?d=new u.ScaleTimeline(c.length):(d=new u.TranslateTimeline(c.length),m=this.scale),d.boneIndex=o;for(var p=0,f=0,v=c.length;v>f;f++){var g=c[f],x=(g.x||0)*m,b=(g.y||0)*m;d.setFrame(p,g.time,x,b),u.SkeletonJson.readCurve(d,p,g),p++}r.push(d),n=Math.max(n,d.frames[3*d.getFrameCount()-3])}}}var y=e.slots;for(var T in y)if(y.hasOwnProperty(T)){var _=y[T],w=i.findSlotIndex(T);for(var l in _)if(_.hasOwnProperty(l)){var c=_[l];if("color"==l){var d=new u.ColorTimeline(c.length);d.slotIndex=w;for(var p=0,f=0,v=c.length;v>f;f++){var g=c[f],A=g.color,R=u.SkeletonJson.toColor(A,0),S=u.SkeletonJson.toColor(A,1),C=u.SkeletonJson.toColor(A,2),L=u.SkeletonJson.toColor(A,3);d.setFrame(p,g.time,R,S,C,L),u.SkeletonJson.readCurve(d,p,g),p++}r.push(d),n=Math.max(n,d.frames[5*d.getFrameCount()-5])}else{if("attachment"!=l)throw"Invalid timeline type for a slot: "+l+" ("+T+")";var d=new u.AttachmentTimeline(c.length);d.slotIndex=w;for(var p=0,f=0,v=c.length;v>f;f++){var g=c[f];d.setFrame(p++,g.time,g.name)}r.push(d),n=Math.max(n,d.frames[Math.floor(d.getFrameCount())-1])}}}i.animations.push(new u.Animation(t,r,n))}},u.SkeletonJson.readCurve=function(t,e,i){var r=i.curve;r&&("stepped"==r?t.curves.setStepped(e):r instanceof Array&&t.curves.setCurve(e,r[0],r[1],r[2],r[3]))},u.SkeletonJson.toColor=function(t,e){if(8!=t.length)throw"Color hexidecimal length must be 8, recieved: "+t;return parseInt(t.substring(2*e,2),16)/255},u.Atlas=function(t,e){this.textureLoader=e,this.pages=[],this.regions=[];var i=new u.AtlasReader(t),r=[];r.length=4;for(var n=null;;){var s=i.readLine();if(null==s)break;if(s=i.trim(s),0==s.length)n=null;else if(n){var a=new u.AtlasRegion;a.name=s,a.page=n,a.rotate="true"==i.readValue(),i.readTuple(r);var o=parseInt(r[0]),h=parseInt(r[1]);i.readTuple(r);var l=parseInt(r[0]),c=parseInt(r[1]);a.u=o/n.width,a.v=h/n.height,a.rotate?(a.u2=(o+c)/n.width,a.v2=(h+l)/n.height):(a.u2=(o+l)/n.width,a.v2=(h+c)/n.height),a.x=o,a.y=h,a.width=Math.abs(l),a.height=Math.abs(c),4==i.readTuple(r)&&(a.splits=[parseInt(r[0]),parseInt(r[1]),parseInt(r[2]),parseInt(r[3])],4==i.readTuple(r)&&(a.pads=[parseInt(r[0]),parseInt(r[1]),parseInt(r[2]),parseInt(r[3])],i.readTuple(r))),a.originalWidth=parseInt(r[0]),a.originalHeight=parseInt(r[1]),i.readTuple(r),a.offsetX=parseInt(r[0]),a.offsetY=parseInt(r[1]),a.index=parseInt(i.readValue()),this.regions.push(a)}else{n=new u.AtlasPage,n.name=s,n.format=u.Atlas.Format[i.readValue()],i.readTuple(r),n.minFilter=u.Atlas.TextureFilter[r[0]],n.magFilter=u.Atlas.TextureFilter[r[1]];var d=i.readValue();n.uWrap=u.Atlas.TextureWrap.clampToEdge,n.vWrap=u.Atlas.TextureWrap.clampToEdge,"x"==d?n.uWrap=u.Atlas.TextureWrap.repeat:"y"==d?n.vWrap=u.Atlas.TextureWrap.repeat:"xy"==d&&(n.uWrap=n.vWrap=u.Atlas.TextureWrap.repeat),e.load(n,s),this.pages.push(n)}}},u.Atlas.prototype={findRegion:function(t){for(var e=this.regions,i=0,r=e.length;r>i;i++)if(e[i].name==t)return e[i];return null},dispose:function(){for(var t=this.pages,e=0,i=t.length;i>e;e++)this.textureLoader.unload(t[e].rendererObject)},updateUVs:function(t){for(var e=this.regions,i=0,r=e.length;r>i;i++){var n=e[i];n.page==t&&(n.u=n.x/t.width,n.v=n.y/t.height,n.rotate?(n.u2=(n.x+n.height)/t.width,n.v2=(n.y+n.width)/t.height):(n.u2=(n.x+n.width)/t.width,n.v2=(n.y+n.height)/t.height))}}},u.Atlas.Format={alpha:0,intensity:1,luminanceAlpha:2,rgb565:3,rgba4444:4,rgb888:5,rgba8888:6},u.Atlas.TextureFilter={nearest:0,linear:1,mipMap:2,mipMapNearestNearest:3,mipMapLinearNearest:4,mipMapNearestLinear:5,mipMapLinearLinear:6},u.Atlas.TextureWrap={mirroredRepeat:0,clampToEdge:1,repeat:2},u.AtlasPage=function(){},u.AtlasPage.prototype={name:null,format:null,minFilter:null,magFilter:null,uWrap:null,vWrap:null,rendererObject:null,width:0,height:0},u.AtlasRegion=function(){},u.AtlasRegion.prototype={page:null,name:null,x:0,y:0,width:0,height:0,u:0,v:0,u2:0,v2:0,offsetX:0,offsetY:0,originalWidth:0,originalHeight:0,index:0,rotate:!1,splits:null,pads:null},u.AtlasReader=function(t){this.lines=t.split(/\r\n|\r|\n/)},u.AtlasReader.prototype={index:0,trim:function(t){return t.replace(/^\s+|\s+$/g,"")},readLine:function(){return this.index>=this.lines.length?null:this.lines[this.index++]},readValue:function(){var t=this.readLine(),e=t.indexOf(":");if(-1==e)throw"Invalid line: "+t;return this.trim(t.substring(e+1))},readTuple:function(t){var e=this.readLine(),i=e.indexOf(":");if(-1==i)throw"Invalid line: "+e;for(var r=0,n=i+1;3>r;r++){var s=e.indexOf(",",n);if(-1==s){if(0==r)throw"Invalid line: "+e;break}t[r]=this.trim(e.substr(n,s-n)),n=s+1}return t[r]=this.trim(e.substring(n)),r+1}},u.AtlasAttachmentLoader=function(t){this.atlas=t},u.AtlasAttachmentLoader.prototype={newAttachment:function(t,e,i){switch(e){case u.AttachmentType.region:var r=this.atlas.findRegion(i);if(!r)throw"Region not found in atlas: "+i+" ("+e+")";var n=new u.RegionAttachment(i);return n.rendererObject=r,n.setUVs(r.u,r.v,r.u2,r.v2,r.rotate),n.regionOffsetX=r.offsetX,n.regionOffsetY=r.offsetY,n.regionWidth=r.width,n.regionHeight=r.height,n.regionOriginalWidth=r.originalWidth,n.regionOriginalHeight=r.originalHeight,n}throw"Unknown attachment type: "+e}},n.AnimCache={},u.Bone.yDown=!0,n.CustomRenderable=function(){n.DisplayObject.call(this)},n.CustomRenderable.constructor=n.CustomRenderable,n.CustomRenderable.prototype=Object.create(n.DisplayObject.prototype),n.CustomRenderable.prototype.renderCanvas=function(){},n.CustomRenderable.prototype.initWebGL=function(){},n.CustomRenderable.prototype.renderWebGL=function(){},n.BaseTextureCache={},n.texturesToUpdate=[],n.texturesToDestroy=[],n.BaseTexture=function(t){if(n.EventTarget.call(this),this.width=100,this.height=100,this.source=t,t){if(this.source instanceof Image)if(this.source.complete)this.hasLoaded=!0,this.width=this.source.width,this.height=this.source.height,n.texturesToUpdate.push(this);else{var e=this;this.source.onload=function(){e.hasLoaded=!0,e.width=e.source.width,e.height=e.source.height,n.texturesToUpdate.push(e),e.dispatchEvent({type:"loaded",content:e})}}else this.hasLoaded=!0,this.width=this.source.width,this.height=this.source.height,n.texturesToUpdate.push(this);this._powerOf2=!1}},n.BaseTexture.constructor=n.BaseTexture,n.BaseTexture.prototype.destroy=function(){this.source instanceof Image&&(this.source.src=null),this.source=null,n.texturesToDestroy.push(this)},n.BaseTexture.fromImage=function(t,e){var i=n.BaseTextureCache[t];if(!i){var r=new Image;e&&(r.crossOrigin=""),r.src=t,i=new n.BaseTexture(r),n.BaseTextureCache[t]=i}return i},n.TextureCache={},n.FrameCache={},n.Texture=function(t,e){if(n.EventTarget.call(this),e||(this.noFrame=!0,e=new n.Rectangle(0,0,1,1)),this.trim=new n.Point,t instanceof n.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.scope=this,t.hasLoaded)this.noFrame&&(e=new n.Rectangle(0,0,t.width,t.height)),this.setFrame(e);else{var i=this;t.addEventListener("loaded",function(){i.onBaseTextureLoaded()})}},n.Texture.constructor=n.Texture,n.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;t.removeEventListener("loaded",this.onLoaded),this.noFrame&&(this.frame=new n.Rectangle(0,0,t.width,t.height)),this.noFrame=!1,this.width=this.frame.width,this.height=this.frame.height,this.scope.dispatchEvent({type:"update",content:this})},n.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy()},n.Texture.prototype.setFrame=function(t){if(this.frame=t,this.width=t.width,this.height=t.height,t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height)throw Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.updateFrame=!0,n.Texture.frameUpdates.push(this)},n.Texture.fromImage=function(t,e){var i=n.TextureCache[t];return i||(i=new n.Texture(n.BaseTexture.fromImage(t,e)),n.TextureCache[t]=i),i},n.Texture.fromFrame=function(t){var e=n.TextureCache[t];if(!e)throw Error("The frameId '"+t+"' does not exist in the texture cache "+this);return e},n.Texture.fromCanvas=function(t){var e=new n.BaseTexture(t);return new n.Texture(e)},n.Texture.addTextureToCache=function(t,e){n.TextureCache[e]=t},n.Texture.removeTextureFromCache=function(t){var e=n.TextureCache[t];return n.TextureCache[t]=null,e},n.Texture.frameUpdates=[],n.RenderTexture=function(t,e){n.EventTarget.call(this),this.width=t||100,this.height=e||100,this.indetityMatrix=n.mat3.create(),this.frame=new n.Rectangle(0,0,this.width,this.height),n.gl?this.initWebGL():this.initCanvas()},n.RenderTexture.constructor=n.RenderTexture,n.RenderTexture.prototype=Object.create(n.Texture.prototype),n.RenderTexture.prototype.initWebGL=function(){var t=n.gl;this.glFramebuffer=t.createFramebuffer(),t.bindFramebuffer(t.FRAMEBUFFER,this.glFramebuffer),this.glFramebuffer.width=this.width,this.glFramebuffer.height=this.height,this.baseTexture=new n.BaseTexture,this.baseTexture.width=this.width,this.baseTexture.height=this.height,this.baseTexture._glTexture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.baseTexture._glTexture),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,this.width,this.height,0,t.RGBA,t.UNSIGNED_BYTE,null),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),this.baseTexture.isRender=!0,t.bindFramebuffer(t.FRAMEBUFFER,this.glFramebuffer),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,this.baseTexture._glTexture,0),this.projection=new n.Point(this.width/2,this.height/2),this.projectionMatrix=n.mat4.create(),this.projectionMatrix[5]=2/this.height,this.projectionMatrix[13]=-1,this.projectionMatrix[0]=2/this.width,this.projectionMatrix[12]=-1,this.render=this.renderWebGL},n.RenderTexture.prototype.initCanvas=function(){this.renderer=new n.CanvasRenderer(this.width,this.height,null,0),this.baseTexture=new n.BaseTexture(this.renderer.view),this.frame=new n.Rectangle(0,0,this.width,this.height),this.render=this.renderCanvas},n.RenderTexture.prototype.renderWebGL=function(t,e){var i=n.gl;i.colorMask(!0,!0,!0,!0),i.viewport(0,0,this.width,this.height),i.bindFramebuffer(i.FRAMEBUFFER,this.glFramebuffer),e&&(i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT));var r=t.children;t.worldTransform=n.mat3.create(),t.worldTransform[4]=-1,t.worldTransform[5]=2*this.projection.y;for(var s=0,a=r.length;a>s;s++)r[s].updateTransform(); var o=t.__renderGroup;o?t==o.root?o.render(this.projection):o.renderSpecific(t,this.projection):(this.renderGroup||(this.renderGroup=new n.WebGLRenderGroup(i)),this.renderGroup.setRenderable(t),this.renderGroup.render(this.projection))},n.RenderTexture.prototype.renderCanvas=function(t,e){var i=t.children;t.worldTransform=n.mat3.create();for(var r=0,s=i.length;s>r;r++)i[r].updateTransform();e&&this.renderer.context.clearRect(0,0,this.width,this.height),this.renderer.renderDisplayObject(t),n.texturesToUpdate.push(this.baseTexture)},n.AssetLoader=function(t){n.EventTarget.call(this),this.assetURLs=t,this.crossorigin=!1,this.loadersByType={jpg:n.ImageLoader,jpeg:n.ImageLoader,png:n.ImageLoader,gif:n.ImageLoader,json:n.JsonLoader,anim:n.SpineLoader,xml:n.BitmapFontLoader,fnt:n.BitmapFontLoader}},n.AssetLoader.constructor=n.AssetLoader,n.AssetLoader.prototype.load=function(){var t=this;this.loadCount=this.assetURLs.length;for(var e=0;this.assetURLs.length>e;e++){var i=this.assetURLs[e],r=i.split(".").pop().toLowerCase(),n=this.loadersByType[r];if(!n)throw Error(r+" is an unsupported file type");var s=new n(i,this.crossorigin);s.addEventListener("loaded",function(){t.onAssetLoaded()}),s.load()}},n.AssetLoader.prototype.onAssetLoaded=function(){this.loadCount--,this.dispatchEvent({type:"onProgress",content:this}),this.onProgress&&this.onProgress(),0==this.loadCount&&(this.dispatchEvent({type:"onComplete",content:this}),this.onComplete&&this.onComplete())},n.JsonLoader=function(t,e){n.EventTarget.call(this),this.url=t,this.baseUrl=t.replace(/[^\/]*$/,""),this.crossorigin=e,this.loaded=!1},n.JsonLoader.constructor=n.JsonLoader,n.JsonLoader.prototype.load=function(){this.ajaxRequest=new l;var t=this;this.ajaxRequest.onreadystatechange=function(){t.onJSONLoaded()},this.ajaxRequest.open("GET",this.url,!0),this.ajaxRequest.overrideMimeType&&this.ajaxRequest.overrideMimeType("application/json"),this.ajaxRequest.send(null)},n.JsonLoader.prototype.onJSONLoaded=function(){if(4==this.ajaxRequest.readyState)if(200==this.ajaxRequest.status||-1==window.location.href.indexOf("http"))if(this.json=JSON.parse(this.ajaxRequest.responseText),this.json.frames){var t=this,e=this.baseUrl+this.json.meta.image,i=new n.ImageLoader(e,this.crossorigin),r=this.json.frames;this.texture=i.texture.baseTexture,i.addEventListener("loaded",function(){t.onLoaded()});for(var s in r){var a=r[s].frame;a&&(n.TextureCache[s]=new n.Texture(this.texture,{x:a.x,y:a.y,width:a.w,height:a.h}),r[s].trimmed&&(n.TextureCache[s].realSize=r[s].spriteSourceSize,n.TextureCache[s].trim.x=0))}i.load()}else if(this.json.bones){var o=new u.SkeletonJson,h=o.readSkeletonData(this.json);n.AnimCache[this.url]=h,this.onLoaded()}else this.onLoaded();else this.onError()},n.JsonLoader.prototype.onLoaded=function(){this.loaded=!0,this.dispatchEvent({type:"loaded",content:this})},n.JsonLoader.prototype.onError=function(){this.dispatchEvent({type:"error",content:this})},n.SpriteSheetLoader=function(t,e){n.EventTarget.call(this),this.url=t,this.baseUrl=t.replace(/[^\/]*$/,""),this.texture=null,this.frames={},this.crossorigin=e},n.SpriteSheetLoader.constructor=n.SpriteSheetLoader,n.SpriteSheetLoader.prototype.load=function(){var t=this,e=new n.JsonLoader(this.url,this.crossorigin);e.addEventListener("loaded",function(e){t.json=e.content.json,t.onJSONLoaded()}),e.load()},n.SpriteSheetLoader.prototype.onJSONLoaded=function(){var t=this,e=this.baseUrl+this.json.meta.image,i=new n.ImageLoader(e,this.crossorigin),r=this.json.frames;this.texture=i.texture.baseTexture,i.addEventListener("loaded",function(){t.onLoaded()});for(var s in r){var a=r[s].frame;a&&(n.TextureCache[s]=new n.Texture(this.texture,{x:a.x,y:a.y,width:a.w,height:a.h}),r[s].trimmed&&(n.TextureCache[s].realSize=r[s].spriteSourceSize,n.TextureCache[s].trim.x=0))}i.load()},n.SpriteSheetLoader.prototype.onLoaded=function(){this.dispatchEvent({type:"loaded",content:this})},n.ImageLoader=function(t,e){n.EventTarget.call(this),this.texture=n.Texture.fromImage(t,e)},n.ImageLoader.constructor=n.ImageLoader,n.ImageLoader.prototype.load=function(){if(this.texture.baseTexture.hasLoaded)this.onLoaded();else{var t=this;this.texture.baseTexture.addEventListener("loaded",function(){t.onLoaded()})}},n.ImageLoader.prototype.onLoaded=function(){this.dispatchEvent({type:"loaded",content:this})},n.BitmapFontLoader=function(t,e){n.EventTarget.call(this),this.url=t,this.baseUrl=t.replace(/[^\/]*$/,""),this.texture=null,this.crossorigin=e},n.BitmapFontLoader.constructor=n.BitmapFontLoader,n.BitmapFontLoader.prototype.load=function(){this.ajaxRequest=new XMLHttpRequest;var t=this;this.ajaxRequest.onreadystatechange=function(){t.onXMLLoaded()},this.ajaxRequest.open("GET",this.url,!0),this.ajaxRequest.overrideMimeType&&this.ajaxRequest.overrideMimeType("application/xml"),this.ajaxRequest.send(null)},n.BitmapFontLoader.prototype.onXMLLoaded=function(){if(4==this.ajaxRequest.readyState&&(200==this.ajaxRequest.status||-1==window.location.href.indexOf("http"))){var t=this.baseUrl+this.ajaxRequest.responseXML.getElementsByTagName("page")[0].attributes.getNamedItem("file").nodeValue,e=new n.ImageLoader(t,this.crossorigin);this.texture=e.texture.baseTexture;var i={},r=this.ajaxRequest.responseXML.getElementsByTagName("info")[0],s=this.ajaxRequest.responseXML.getElementsByTagName("common")[0];i.font=r.attributes.getNamedItem("face").nodeValue,i.size=parseInt(r.attributes.getNamedItem("size").nodeValue,10),i.lineHeight=parseInt(s.attributes.getNamedItem("lineHeight").nodeValue,10),i.chars={};for(var a=this.ajaxRequest.responseXML.getElementsByTagName("char"),o=0;a.length>o;o++){var h=parseInt(a[o].attributes.getNamedItem("id").nodeValue,10),l={x:parseInt(a[o].attributes.getNamedItem("x").nodeValue,10),y:parseInt(a[o].attributes.getNamedItem("y").nodeValue,10),width:parseInt(a[o].attributes.getNamedItem("width").nodeValue,10),height:parseInt(a[o].attributes.getNamedItem("height").nodeValue,10)};n.TextureCache[h]=new n.Texture(this.texture,l),i.chars[h]={xOffset:parseInt(a[o].attributes.getNamedItem("xoffset").nodeValue,10),yOffset:parseInt(a[o].attributes.getNamedItem("yoffset").nodeValue,10),xAdvance:parseInt(a[o].attributes.getNamedItem("xadvance").nodeValue,10),kerning:{},texture:new n.Texture(this.texture,l)}}var u=this.ajaxRequest.responseXML.getElementsByTagName("kerning");for(o=0;u.length>o;o++){var c=parseInt(u[o].attributes.getNamedItem("first").nodeValue,10),d=parseInt(u[o].attributes.getNamedItem("second").nodeValue,10),p=parseInt(u[o].attributes.getNamedItem("amount").nodeValue,10);i.chars[d].kerning[c]=p}n.BitmapText.fonts[i.font]=i;var f=this;e.addEventListener("loaded",function(){f.onLoaded()}),e.load()}},n.BitmapFontLoader.prototype.onLoaded=function(){this.dispatchEvent({type:"loaded",content:this})},n.SpineLoader=function(t,e){n.EventTarget.call(this),this.url=t,this.crossorigin=e,this.loaded=!1},n.SpineLoader.constructor=n.SpineLoader,n.SpineLoader.prototype.load=function(){new n.JsonLoader(this.url,this.crossorigin),jsonLoader.addEventListener("loaded",function(t){scope.json=t.content.json,scope.onJSONLoaded()}),jsonLoader.load()},n.SpineLoader.prototype.load=function(){var t=this,e=new n.JsonLoader(this.url,this.crossorigin);e.addEventListener("loaded",function(e){t.json=e.content.json,t.onJSONLoaded()}),e.load()},n.SpineLoader.prototype.onJSONLoaded=function(){var t=new u.SkeletonJson,e=t.readSkeletonData(this.json);n.AnimCache[this.url]=e,this.onLoaded()},n.SpineLoader.prototype.onLoaded=function(){this.loaded=!0,this.dispatchEvent({type:"loaded",content:this})},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=n),exports.PIXI=n):i.PIXI=n}).call(this); \ No newline at end of file diff --git a/docs/api.js b/docs/api.js index 4434068..7aa9f42 100644 --- a/docs/api.js +++ b/docs/api.js @@ -7,9 +7,11 @@ YUI.add("yuidoc-meta", function(Y) { "BitmapText", "CanvasGraphics", "CanvasRenderer", + "Circle", "CustomRenderable", "DisplayObject", "DisplayObjectContainer", + "Ellipse", "Graphics", "ImageLoader", "InteractionData", diff --git a/docs/classes/AssetLoader.html b/docs/classes/AssetLoader.html index db024a5..71c3f58 100644 --- a/docs/classes/AssetLoader.html +++ b/docs/classes/AssetLoader.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/classes/BaseTexture.html b/docs/classes/BaseTexture.html index 2ddc3b1..ccc16b4 100644 --- a/docs/classes/BaseTexture.html +++ b/docs/classes/BaseTexture.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/classes/BitmapFontLoader.html b/docs/classes/BitmapFontLoader.html index b92de83..9c30e17 100644 --- a/docs/classes/BitmapFontLoader.html +++ b/docs/classes/BitmapFontLoader.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/classes/BitmapText.html b/docs/classes/BitmapText.html index b34e959..0935578 100644 --- a/docs/classes/BitmapText.html +++ b/docs/classes/BitmapText.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • @@ -502,6 +506,20 @@ http://www.bmglyph.com/ for mac.

    + + +
  • + interactive + + + +
  • + +
  • + mask + + +
  • @@ -606,7 +624,7 @@ http://www.bmglyph.com/ for mac.

    - src/pixi/display/DisplayObjectContainer.js:41 + src/pixi/display/DisplayObjectContainer.js:42

    @@ -696,7 +714,7 @@ http://www.bmglyph.com/ for mac.

    - src/pixi/display/DisplayObjectContainer.js:73 + src/pixi/display/DisplayObjectContainer.js:139

    @@ -795,7 +813,7 @@ http://www.bmglyph.com/ for mac.

    - src/pixi/display/DisplayObject.js:106 + src/pixi/display/DisplayObject.js:109

    @@ -879,7 +897,7 @@ http://www.bmglyph.com/ for mac.

    - src/pixi/display/DisplayObjectContainer.js:168 + src/pixi/display/DisplayObjectContainer.js:274

    @@ -963,7 +981,7 @@ http://www.bmglyph.com/ for mac.

    - src/pixi/display/DisplayObject.js:112 + src/pixi/display/DisplayObject.js:115

    @@ -1047,7 +1065,7 @@ http://www.bmglyph.com/ for mac.

    - src/pixi/display/DisplayObject.js:138 + src/pixi/display/DisplayObject.js:141

    @@ -1131,7 +1149,7 @@ http://www.bmglyph.com/ for mac.

    - src/pixi/display/DisplayObject.js:132 + src/pixi/display/DisplayObject.js:135

    @@ -1215,7 +1233,7 @@ http://www.bmglyph.com/ for mac.

    - src/pixi/display/DisplayObject.js:118 + src/pixi/display/DisplayObject.js:121

    @@ -1300,7 +1318,7 @@ for this callback to be fired the mouse must have been pressed down over the dis - src/pixi/display/DisplayObject.js:125 + src/pixi/display/DisplayObject.js:128

    @@ -1385,7 +1403,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObjectContainer.js:186 + src/pixi/display/DisplayObjectContainer.js:291

    @@ -1469,7 +1487,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObject.js:190 + src/pixi/display/DisplayObject.js:193

    @@ -1480,7 +1498,8 @@ for this callback to be fired, The touch must have started over the displayObjec
    -

    Indicates if the sprite will have touch and mouse interactivity. It is false by default

    +

    [Deprecated] Indicates if the sprite will have touch and mouse interactivity. It is false by default +Instead of using this function you can now simply set the interactive property to true or false

    @@ -1764,7 +1783,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObjectContainer.js:128 + src/pixi/display/DisplayObjectContainer.js:227

    @@ -1863,7 +1882,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObject.js:149 + src/pixi/display/DisplayObject.js:152

    @@ -1948,7 +1967,7 @@ basically a touch version of click

    - src/pixi/display/DisplayObject.js:162 + src/pixi/display/DisplayObject.js:165

    @@ -2032,7 +2051,7 @@ basically a touch version of click

    - src/pixi/display/DisplayObject.js:168 + src/pixi/display/DisplayObject.js:171

    @@ -2117,7 +2136,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:156 + src/pixi/display/DisplayObject.js:159

    @@ -2190,7 +2209,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:40 + src/pixi/display/DisplayObject.js:43

    @@ -2231,7 +2250,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:95 + src/pixi/display/DisplayObject.js:98

    @@ -2313,7 +2332,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:69 + src/pixi/display/DisplayObject.js:72

    @@ -2332,6 +2351,90 @@ Setting it is a neat way of optimising the hitTest function that the interaction + + + +
    +

    interactive

    + Boolean + + + + + + + + + +
    + + +

    Inherited from + DisplayObject: + + + + src/pixi/display/DisplayObject.js:204 + +

    + + + + +
    + +
    +

    Indicates if the sprite will have touch and mouse interactivity. It is false by default

    +
    + + + + + + +
    + + +
    +

    mask

    + PIXI.Graphics + + + + + + + + + +
    + + +

    Inherited from + DisplayObject: + + + + src/pixi/display/DisplayObject.js:222 + +

    + + + + +
    + +
    +

    Sets a mask for the displayObject. A mask is an object that limits the visibility of an object to the shape of the mask applied to it. +In PIXI a regular mask must be a PIXI.Ggraphics object. This allows for much faster masking in canvas as it utilises shape clipping. +To remove a mask, set this property to null.

    +
    + + + + + +
    @@ -2355,7 +2458,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:55 + src/pixi/display/DisplayObject.js:58

    @@ -2396,7 +2499,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:26 + src/pixi/display/DisplayObject.js:29

    @@ -2437,7 +2540,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:12 + src/pixi/display/DisplayObject.js:15

    @@ -2478,7 +2581,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:33 + src/pixi/display/DisplayObject.js:36

    @@ -2519,7 +2622,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:19 + src/pixi/display/DisplayObject.js:22

    @@ -2560,7 +2663,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:62 + src/pixi/display/DisplayObject.js:65

    @@ -2601,7 +2704,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:47 + src/pixi/display/DisplayObject.js:50

    diff --git a/docs/classes/CanvasGraphics.html b/docs/classes/CanvasGraphics.html index dbad6b9..0e44412 100644 --- a/docs/classes/CanvasGraphics.html +++ b/docs/classes/CanvasGraphics.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/classes/CanvasRenderer.html b/docs/classes/CanvasRenderer.html index fdf16be..bcc7dba 100644 --- a/docs/classes/CanvasRenderer.html +++ b/docs/classes/CanvasRenderer.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/classes/Circle.html b/docs/classes/Circle.html new file mode 100644 index 0000000..e67296d --- /dev/null +++ b/docs/classes/Circle.html @@ -0,0 +1,751 @@ + + + + + Circle - Pixi.JS + + + + + + + + +
    +
    +
    + +

    + +
    +
    + API Docs for: 1.3.0 +
    +
    +
    + + +
    +
    + Show: + + + + + + + +
    + + +
    +
    +
    +

    Circle Class

    +
    + + + + + +
    + Defined in: src/pixi/core/Circle.js:5 +
    + + + + + Module: PIXI + + + + +
    + + + +
    + +
    + + +
    +

    Constructor

    +
    +

    Circle

    + + +
    + (
      + +
    • + + x + +
    • + +
    • + + y + +
    • + +
    • + + radius + +
    • + +
    ) +
    + + + + + + + + + + + + + + + + +
    + + + +

    + + Defined in + + + + + src/pixi/core/Circle.js:5 + +

    + + + + + +
    + +
    + +
    + + +
    +

    Parameters:

    + +
      + +
    • + + x + Number + + + + +
      +

      The X coord of the upper-left corner of the framing rectangle of this circle

      +
      + + +
    • + +
    • + + y + Number + + + + +
      +

      The Y coord of the upper-left corner of the framing rectangle of this circle

      +
      + + +
    • + +
    • + + radius + Number + + + + +
      +

      The radius of the circle

      +
      + + +
    • + +
    +
    + + + + + +
    + +
    + + +
    + + +
    +
    +

    Item Index

    + + +
    +

    Methods

    + + +
    + + + +
    +

    Properties

    + +
      + +
    • + radius + + + +
    • + +
    • + x + + + +
    • + +
    • + y + + + +
    • + +
    +
    + + + + + +
    + + +
    +

    Methods

    + + +
    +

    clone

    + + + () + + + + + + + + + + + + + + + + + + + + +
    + + + +

    + + Defined in + + + + + src/pixi/core/Circle.js:36 + +

    + + + + + +
    + +
    + +
    + + + + +
    +

    Returns:

    + +
    + + + a copy of the polygon + +
    +
    + + + +
    + + +
    +

    contains

    + + +
    + (
      + +
    • + + x + +
    • + +
    • + + y + +
    • + +
    ) +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    + + Defined in + + + + + src/pixi/core/Circle.js:45 + +

    + + + + + +
    + +
    + +
    + + +
    +

    Parameters:

    + +
      + +
    • + + x + Number + + + + +
      +

      The X coord of the point to test

      +
      + + +
    • + +
    • + + y + Number + + + + +
      +

      The Y coord of the point to test

      +
      + + +
    • + +
    +
    + + + +
    +

    Returns:

    + +
    + + + if the x/y coords are within this polygon + +
    +
    + + + +
    + + +
    + + + +
    +

    Properties

    + + +
    +

    radius

    + Number + + + + + + + + + +
    + + + +

    + + Defined in + + + + + src/pixi/core/Circle.js:28 + +

    + + + + +
    + +
    + +
    + + +

    Default: 0

    + + + + + +
    + + +
    +

    x

    + Number + + + + + + + + + +
    + + + +

    + + Defined in + + + + + src/pixi/core/Circle.js:14 + +

    + + + + +
    + +
    + +
    + + +

    Default: 0

    + + + + + +
    + + +
    +

    y

    + Number + + + + + + + + + +
    + + + +

    + + Defined in + + + + + src/pixi/core/Circle.js:21 + +

    + + + + +
    + +
    + +
    + + +

    Default: 0

    + + + + + +
    + + +
    + + + + + +
    +
    + +
    +
    +
    +
    +
    +
    + + + + + + + + + + diff --git a/docs/classes/CustomRenderable.html b/docs/classes/CustomRenderable.html index 1a1a35c..4866fb0 100644 --- a/docs/classes/CustomRenderable.html +++ b/docs/classes/CustomRenderable.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • @@ -358,6 +362,20 @@ + + +
  • + interactive + + + +
  • + +
  • + mask + + +
  • @@ -462,7 +480,7 @@ - src/pixi/display/DisplayObject.js:106 + src/pixi/display/DisplayObject.js:109

    @@ -546,7 +564,7 @@ - src/pixi/display/DisplayObject.js:112 + src/pixi/display/DisplayObject.js:115

    @@ -630,7 +648,7 @@ - src/pixi/display/DisplayObject.js:138 + src/pixi/display/DisplayObject.js:141

    @@ -714,7 +732,7 @@ - src/pixi/display/DisplayObject.js:132 + src/pixi/display/DisplayObject.js:135

    @@ -798,7 +816,7 @@ - src/pixi/display/DisplayObject.js:118 + src/pixi/display/DisplayObject.js:121

    @@ -883,7 +901,7 @@ for this callback to be fired the mouse must have been pressed down over the dis - src/pixi/display/DisplayObject.js:125 + src/pixi/display/DisplayObject.js:128

    @@ -968,7 +986,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObject.js:190 + src/pixi/display/DisplayObject.js:193

    @@ -979,7 +997,8 @@ for this callback to be fired, The touch must have started over the displayObjec
    -

    Indicates if the sprite will have touch and mouse interactivity. It is false by default

    +

    [Deprecated] Indicates if the sprite will have touch and mouse interactivity. It is false by default +Instead of using this function you can now simply set the interactive property to true or false

    @@ -1052,7 +1071,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObject.js:149 + src/pixi/display/DisplayObject.js:152

    @@ -1137,7 +1156,7 @@ basically a touch version of click

    - src/pixi/display/DisplayObject.js:162 + src/pixi/display/DisplayObject.js:165

    @@ -1221,7 +1240,7 @@ basically a touch version of click

    - src/pixi/display/DisplayObject.js:168 + src/pixi/display/DisplayObject.js:171

    @@ -1306,7 +1325,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:156 + src/pixi/display/DisplayObject.js:159

    @@ -1379,7 +1398,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:40 + src/pixi/display/DisplayObject.js:43

    @@ -1420,7 +1439,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:95 + src/pixi/display/DisplayObject.js:98

    @@ -1461,7 +1480,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:69 + src/pixi/display/DisplayObject.js:72

    @@ -1480,6 +1499,90 @@ Setting it is a neat way of optimising the hitTest function that the interaction + + + +
    +

    interactive

    + Boolean + + + + + + + + + +
    + + +

    Inherited from + DisplayObject: + + + + src/pixi/display/DisplayObject.js:204 + +

    + + + + +
    + +
    +

    Indicates if the sprite will have touch and mouse interactivity. It is false by default

    +
    + + + + + + +
    + + +
    +

    mask

    + PIXI.Graphics + + + + + + + + + +
    + + +

    Inherited from + DisplayObject: + + + + src/pixi/display/DisplayObject.js:222 + +

    + + + + +
    + +
    +

    Sets a mask for the displayObject. A mask is an object that limits the visibility of an object to the shape of the mask applied to it. +In PIXI a regular mask must be a PIXI.Ggraphics object. This allows for much faster masking in canvas as it utilises shape clipping. +To remove a mask, set this property to null.

    +
    + + + + + +
    @@ -1503,7 +1606,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:55 + src/pixi/display/DisplayObject.js:58

    @@ -1544,7 +1647,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:26 + src/pixi/display/DisplayObject.js:29

    @@ -1585,7 +1688,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:12 + src/pixi/display/DisplayObject.js:15

    @@ -1626,7 +1729,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:33 + src/pixi/display/DisplayObject.js:36

    @@ -1667,7 +1770,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:19 + src/pixi/display/DisplayObject.js:22

    @@ -1708,7 +1811,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:62 + src/pixi/display/DisplayObject.js:65

    @@ -1749,7 +1852,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:47 + src/pixi/display/DisplayObject.js:50

    diff --git a/docs/classes/DisplayObject.html b/docs/classes/DisplayObject.html index c7c4a32..12cec79 100644 --- a/docs/classes/DisplayObject.html +++ b/docs/classes/DisplayObject.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • @@ -354,6 +358,20 @@ + + +
  • + interactive + + + +
  • + +
  • + mask + + +
  • @@ -461,7 +479,7 @@ - src/pixi/display/DisplayObject.js:106 + src/pixi/display/DisplayObject.js:109

    @@ -548,7 +566,7 @@ - src/pixi/display/DisplayObject.js:112 + src/pixi/display/DisplayObject.js:115

    @@ -635,7 +653,7 @@ - src/pixi/display/DisplayObject.js:138 + src/pixi/display/DisplayObject.js:141

    @@ -722,7 +740,7 @@ - src/pixi/display/DisplayObject.js:132 + src/pixi/display/DisplayObject.js:135

    @@ -809,7 +827,7 @@ - src/pixi/display/DisplayObject.js:118 + src/pixi/display/DisplayObject.js:121

    @@ -897,7 +915,7 @@ for this callback to be fired the mouse must have been pressed down over the dis - src/pixi/display/DisplayObject.js:125 + src/pixi/display/DisplayObject.js:128

    @@ -985,7 +1003,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObject.js:190 + src/pixi/display/DisplayObject.js:193

    @@ -996,7 +1014,8 @@ for this callback to be fired, The touch must have started over the displayObjec
    -

    Indicates if the sprite will have touch and mouse interactivity. It is false by default

    +

    [Deprecated] Indicates if the sprite will have touch and mouse interactivity. It is false by default +Instead of using this function you can now simply set the interactive property to true or false

    @@ -1072,7 +1091,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObject.js:149 + src/pixi/display/DisplayObject.js:152

    @@ -1160,7 +1179,7 @@ basically a touch version of click

    - src/pixi/display/DisplayObject.js:162 + src/pixi/display/DisplayObject.js:165

    @@ -1247,7 +1266,7 @@ basically a touch version of click

    - src/pixi/display/DisplayObject.js:168 + src/pixi/display/DisplayObject.js:171

    @@ -1335,7 +1354,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:156 + src/pixi/display/DisplayObject.js:159

    @@ -1411,7 +1430,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:40 + src/pixi/display/DisplayObject.js:43

    @@ -1455,7 +1474,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:95 + src/pixi/display/DisplayObject.js:98

    @@ -1499,7 +1518,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:69 + src/pixi/display/DisplayObject.js:72

    @@ -1518,6 +1537,96 @@ Setting it is a neat way of optimising the hitTest function that the interaction + + + +
    +

    interactive

    + Boolean + + + + + + + + + +
    + + + +

    + + Defined in + + + + + src/pixi/display/DisplayObject.js:204 + +

    + + + + +
    + +
    +

    Indicates if the sprite will have touch and mouse interactivity. It is false by default

    +
    + + + + + + +
    + + +
    +

    mask

    + PIXI.Graphics + + + + + + + + + +
    + + + +

    + + Defined in + + + + + src/pixi/display/DisplayObject.js:222 + +

    + + + + +
    + +
    +

    Sets a mask for the displayObject. A mask is an object that limits the visibility of an object to the shape of the mask applied to it. +In PIXI a regular mask must be a PIXI.Ggraphics object. This allows for much faster masking in canvas as it utilises shape clipping. +To remove a mask, set this property to null.

    +
    + + + + + +
    @@ -1544,7 +1653,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:55 + src/pixi/display/DisplayObject.js:58

    @@ -1588,7 +1697,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:26 + src/pixi/display/DisplayObject.js:29

    @@ -1632,7 +1741,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:12 + src/pixi/display/DisplayObject.js:15

    @@ -1676,7 +1785,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:33 + src/pixi/display/DisplayObject.js:36

    @@ -1720,7 +1829,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:19 + src/pixi/display/DisplayObject.js:22

    @@ -1764,7 +1873,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:62 + src/pixi/display/DisplayObject.js:65

    @@ -1808,7 +1917,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:47 + src/pixi/display/DisplayObject.js:50

    diff --git a/docs/classes/DisplayObjectContainer.html b/docs/classes/DisplayObjectContainer.html index 94725a6..aff6af1 100644 --- a/docs/classes/DisplayObjectContainer.html +++ b/docs/classes/DisplayObjectContainer.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • @@ -400,6 +404,20 @@ + + +
  • + interactive + + + +
  • + +
  • + mask + + +
  • @@ -507,7 +525,7 @@ - src/pixi/display/DisplayObjectContainer.js:41 + src/pixi/display/DisplayObjectContainer.js:42

    @@ -600,7 +618,7 @@ - src/pixi/display/DisplayObjectContainer.js:73 + src/pixi/display/DisplayObjectContainer.js:139

    @@ -699,7 +717,7 @@ - src/pixi/display/DisplayObject.js:106 + src/pixi/display/DisplayObject.js:109

    @@ -786,7 +804,7 @@ - src/pixi/display/DisplayObjectContainer.js:168 + src/pixi/display/DisplayObjectContainer.js:274

    @@ -870,7 +888,7 @@ - src/pixi/display/DisplayObject.js:112 + src/pixi/display/DisplayObject.js:115

    @@ -954,7 +972,7 @@ - src/pixi/display/DisplayObject.js:138 + src/pixi/display/DisplayObject.js:141

    @@ -1038,7 +1056,7 @@ - src/pixi/display/DisplayObject.js:132 + src/pixi/display/DisplayObject.js:135

    @@ -1122,7 +1140,7 @@ - src/pixi/display/DisplayObject.js:118 + src/pixi/display/DisplayObject.js:121

    @@ -1207,7 +1225,7 @@ for this callback to be fired the mouse must have been pressed down over the dis - src/pixi/display/DisplayObject.js:125 + src/pixi/display/DisplayObject.js:128

    @@ -1295,7 +1313,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObjectContainer.js:186 + src/pixi/display/DisplayObjectContainer.js:291

    @@ -1379,7 +1397,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObject.js:190 + src/pixi/display/DisplayObject.js:193

    @@ -1390,7 +1408,8 @@ for this callback to be fired, The touch must have started over the displayObjec
    -

    Indicates if the sprite will have touch and mouse interactivity. It is false by default

    +

    [Deprecated] Indicates if the sprite will have touch and mouse interactivity. It is false by default +Instead of using this function you can now simply set the interactive property to true or false

    @@ -1472,7 +1491,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObjectContainer.js:128 + src/pixi/display/DisplayObjectContainer.js:227

    @@ -1571,7 +1590,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObject.js:149 + src/pixi/display/DisplayObject.js:152

    @@ -1656,7 +1675,7 @@ basically a touch version of click

    - src/pixi/display/DisplayObject.js:162 + src/pixi/display/DisplayObject.js:165

    @@ -1740,7 +1759,7 @@ basically a touch version of click

    - src/pixi/display/DisplayObject.js:168 + src/pixi/display/DisplayObject.js:171

    @@ -1825,7 +1844,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:156 + src/pixi/display/DisplayObject.js:159

    @@ -1898,7 +1917,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:40 + src/pixi/display/DisplayObject.js:43

    @@ -1939,7 +1958,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:95 + src/pixi/display/DisplayObject.js:98

    @@ -2024,7 +2043,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:69 + src/pixi/display/DisplayObject.js:72

    @@ -2043,6 +2062,90 @@ Setting it is a neat way of optimising the hitTest function that the interaction + + + +
    +

    interactive

    + Boolean + + + + + + + + + +
    + + +

    Inherited from + DisplayObject: + + + + src/pixi/display/DisplayObject.js:204 + +

    + + + + +
    + +
    +

    Indicates if the sprite will have touch and mouse interactivity. It is false by default

    +
    + + + + + + +
    + + +
    +

    mask

    + PIXI.Graphics + + + + + + + + + +
    + + +

    Inherited from + DisplayObject: + + + + src/pixi/display/DisplayObject.js:222 + +

    + + + + +
    + +
    +

    Sets a mask for the displayObject. A mask is an object that limits the visibility of an object to the shape of the mask applied to it. +In PIXI a regular mask must be a PIXI.Ggraphics object. This allows for much faster masking in canvas as it utilises shape clipping. +To remove a mask, set this property to null.

    +
    + + + + + +
    @@ -2066,7 +2169,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:55 + src/pixi/display/DisplayObject.js:58

    @@ -2107,7 +2210,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:26 + src/pixi/display/DisplayObject.js:29

    @@ -2148,7 +2251,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:12 + src/pixi/display/DisplayObject.js:15

    @@ -2189,7 +2292,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:33 + src/pixi/display/DisplayObject.js:36

    @@ -2230,7 +2333,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:19 + src/pixi/display/DisplayObject.js:22

    @@ -2271,7 +2374,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:62 + src/pixi/display/DisplayObject.js:65

    @@ -2312,7 +2415,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:47 + src/pixi/display/DisplayObject.js:50

    diff --git a/docs/classes/Ellipse.html b/docs/classes/Ellipse.html new file mode 100644 index 0000000..c5b5e4e --- /dev/null +++ b/docs/classes/Ellipse.html @@ -0,0 +1,825 @@ + + + + + Ellipse - Pixi.JS + + + + + + + + +
    +
    +
    + +

    + +
    +
    + API Docs for: 1.3.0 +
    +
    +
    + + +
    +
    + Show: + + + + + + + +
    + + +
    +
    +
    +

    Ellipse Class

    +
    + + + + + +
    + Defined in: src/pixi/core/Ellipse.js:5 +
    + + + + + Module: PIXI + + + + +
    + + + +
    + +
    + + +
    +

    Constructor

    +
    +

    Ellipse

    + + +
    + (
      + +
    • + + x + +
    • + +
    • + + y + +
    • + +
    • + + width + +
    • + +
    • + + height + +
    • + +
    ) +
    + + + + + + + + + + + + + + + + +
    + + + +

    + + Defined in + + + + + src/pixi/core/Ellipse.js:5 + +

    + + + + + +
    + +
    + +
    + + +
    +

    Parameters:

    + +
      + +
    • + + x + Number + + + + +
      +

      The X coord of the upper-left corner of the framing rectangle of this circle

      +
      + + +
    • + +
    • + + y + Number + + + + +
      +

      The Y coord of the upper-left corner of the framing rectangle of this circle

      +
      + + +
    • + +
    • + + width + Number + + + + +
      +

      The overall height of this ellipse

      +
      + + +
    • + +
    • + + height + Number + + + + +
      +

      The overall width of this ellipse

      +
      + + +
    • + +
    +
    + + + + + +
    + +
    + + +
    + + +
    +
    +

    Item Index

    + + +
    +

    Methods

    + + +
    + + + +
    +

    Properties

    + +
      + +
    • + height + + + +
    • + +
    • + width + + + +
    • + +
    • + x + + + +
    • + +
    • + y + + + +
    • + +
    +
    + + + + + +
    + + +
    +

    Methods

    + + +
    +

    clone

    + + + () + + + + + + + + + + + + + + + + + + + + +
    + + + +

    + + Defined in + + + + + src/pixi/core/Ellipse.js:44 + +

    + + + + + +
    + +
    + +
    + + + + +
    +

    Returns:

    + +
    + + + a copy of the polygon + +
    +
    + + + +
    + + +
    +

    contains

    + + +
    + (
      + +
    • + + x + +
    • + +
    • + + y + +
    • + +
    ) +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    + + Defined in + + + + + src/pixi/core/Ellipse.js:53 + +

    + + + + + +
    + +
    + +
    + + +
    +

    Parameters:

    + +
      + +
    • + + x + Number + + + + +
      +

      The X coord of the point to test

      +
      + + +
    • + +
    • + + y + Number + + + + +
      +

      The Y coord of the point to test

      +
      + + +
    • + +
    +
    + + + +
    +

    Returns:

    + +
    + + + if the x/y coords are within this polygon + +
    +
    + + + +
    + + +
    + + + +
    +

    Properties

    + + +
    +

    height

    + Number + + + + + + + + + +
    + + + +

    + + Defined in + + + + + src/pixi/core/Ellipse.js:36 + +

    + + + + +
    + +
    + +
    + + +

    Default: 0

    + + + + + +
    + + +
    +

    width

    + Number + + + + + + + + + +
    + + + +

    + + Defined in + + + + + src/pixi/core/Ellipse.js:29 + +

    + + + + +
    + +
    + +
    + + +

    Default: 0

    + + + + + +
    + + +
    +

    x

    + Number + + + + + + + + + +
    + + + +

    + + Defined in + + + + + src/pixi/core/Ellipse.js:15 + +

    + + + + +
    + +
    + +
    + + +

    Default: 0

    + + + + + +
    + + +
    +

    y

    + Number + + + + + + + + + +
    + + + +

    + + Defined in + + + + + src/pixi/core/Ellipse.js:22 + +

    + + + + +
    + +
    + +
    + + +

    Default: 0

    + + + + + +
    + + +
    + + + + + +
    +
    + +
    +
    +
    +
    +
    +
    + + + + + + + + + + diff --git a/docs/classes/Graphics.html b/docs/classes/Graphics.html index f365324..99e71fc 100644 --- a/docs/classes/Graphics.html +++ b/docs/classes/Graphics.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • @@ -465,6 +469,20 @@ Complex polys will not be filled. Heres an example of a complex poly: http://www + + +
  • + interactive + + + +
  • + +
  • + mask + + +
  • @@ -569,7 +587,7 @@ Complex polys will not be filled. Heres an example of a complex poly: http://www - src/pixi/display/DisplayObjectContainer.js:41 + src/pixi/display/DisplayObjectContainer.js:42

    @@ -659,7 +677,7 @@ Complex polys will not be filled. Heres an example of a complex poly: http://www - src/pixi/display/DisplayObjectContainer.js:73 + src/pixi/display/DisplayObjectContainer.js:139

    @@ -920,7 +938,7 @@ Complex polys will not be filled. Heres an example of a complex poly: http://www - src/pixi/display/DisplayObject.js:106 + src/pixi/display/DisplayObject.js:109

    @@ -1487,7 +1505,7 @@ Complex polys will not be filled. Heres an example of a complex poly: http://www - src/pixi/display/DisplayObjectContainer.js:168 + src/pixi/display/DisplayObjectContainer.js:274

    @@ -1808,7 +1826,7 @@ Complex polys will not be filled. Heres an example of a complex poly: http://www - src/pixi/display/DisplayObject.js:112 + src/pixi/display/DisplayObject.js:115

    @@ -1892,7 +1910,7 @@ Complex polys will not be filled. Heres an example of a complex poly: http://www - src/pixi/display/DisplayObject.js:138 + src/pixi/display/DisplayObject.js:141

    @@ -1976,7 +1994,7 @@ Complex polys will not be filled. Heres an example of a complex poly: http://www - src/pixi/display/DisplayObject.js:132 + src/pixi/display/DisplayObject.js:135

    @@ -2060,7 +2078,7 @@ Complex polys will not be filled. Heres an example of a complex poly: http://www - src/pixi/display/DisplayObject.js:118 + src/pixi/display/DisplayObject.js:121

    @@ -2145,7 +2163,7 @@ for this callback to be fired the mouse must have been pressed down over the dis - src/pixi/display/DisplayObject.js:125 + src/pixi/display/DisplayObject.js:128

    @@ -2338,7 +2356,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObjectContainer.js:186 + src/pixi/display/DisplayObjectContainer.js:291

    @@ -2422,7 +2440,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObject.js:190 + src/pixi/display/DisplayObject.js:193

    @@ -2433,7 +2451,8 @@ for this callback to be fired, The touch must have started over the displayObjec
    -

    Indicates if the sprite will have touch and mouse interactivity. It is false by default

    +

    [Deprecated] Indicates if the sprite will have touch and mouse interactivity. It is false by default +Instead of using this function you can now simply set the interactive property to true or false

    @@ -2512,7 +2531,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObjectContainer.js:128 + src/pixi/display/DisplayObjectContainer.js:227

    @@ -2611,7 +2630,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObject.js:149 + src/pixi/display/DisplayObject.js:152

    @@ -2696,7 +2715,7 @@ basically a touch version of click

    - src/pixi/display/DisplayObject.js:162 + src/pixi/display/DisplayObject.js:165

    @@ -2780,7 +2799,7 @@ basically a touch version of click

    - src/pixi/display/DisplayObject.js:168 + src/pixi/display/DisplayObject.js:171

    @@ -2865,7 +2884,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:156 + src/pixi/display/DisplayObject.js:159

    @@ -2938,7 +2957,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:40 + src/pixi/display/DisplayObject.js:43

    @@ -2979,7 +2998,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:95 + src/pixi/display/DisplayObject.js:98

    @@ -3061,7 +3080,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:69 + src/pixi/display/DisplayObject.js:72

    @@ -3080,6 +3099,90 @@ Setting it is a neat way of optimising the hitTest function that the interaction + + + +
    +

    interactive

    + Boolean + + + + + + + + + +
    + + +

    Inherited from + DisplayObject: + + + + src/pixi/display/DisplayObject.js:204 + +

    + + + + +
    + +
    +

    Indicates if the sprite will have touch and mouse interactivity. It is false by default

    +
    + + + + + + +
    + + +
    +

    mask

    + PIXI.Graphics + + + + + + + + + +
    + + +

    Inherited from + DisplayObject: + + + + src/pixi/display/DisplayObject.js:222 + +

    + + + + +
    + +
    +

    Sets a mask for the displayObject. A mask is an object that limits the visibility of an object to the shape of the mask applied to it. +In PIXI a regular mask must be a PIXI.Ggraphics object. This allows for much faster masking in canvas as it utilises shape clipping. +To remove a mask, set this property to null.

    +
    + + + + + +
    @@ -3103,7 +3206,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:55 + src/pixi/display/DisplayObject.js:58

    @@ -3144,7 +3247,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:26 + src/pixi/display/DisplayObject.js:29

    @@ -3185,7 +3288,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:12 + src/pixi/display/DisplayObject.js:15

    @@ -3226,7 +3329,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:33 + src/pixi/display/DisplayObject.js:36

    @@ -3267,7 +3370,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:19 + src/pixi/display/DisplayObject.js:22

    @@ -3308,7 +3411,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:62 + src/pixi/display/DisplayObject.js:65

    @@ -3349,7 +3452,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:47 + src/pixi/display/DisplayObject.js:50

    diff --git a/docs/classes/ImageLoader.html b/docs/classes/ImageLoader.html index b587ddf..0400bba 100644 --- a/docs/classes/ImageLoader.html +++ b/docs/classes/ImageLoader.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/classes/InteractionData.html b/docs/classes/InteractionData.html index 5fc06b0..56f1b0d 100644 --- a/docs/classes/InteractionData.html +++ b/docs/classes/InteractionData.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • @@ -146,7 +150,7 @@ @@ -200,7 +204,7 @@ - src/pixi/InteractionManager.js:524 + src/pixi/InteractionManager.js:493

    @@ -346,7 +350,7 @@ - src/pixi/InteractionManager.js:555 + src/pixi/InteractionManager.js:524

    @@ -435,7 +439,7 @@ - src/pixi/InteractionManager.js:530 + src/pixi/InteractionManager.js:499

    @@ -479,7 +483,7 @@ - src/pixi/InteractionManager.js:547 + src/pixi/InteractionManager.js:516

    @@ -523,7 +527,7 @@ - src/pixi/InteractionManager.js:540 + src/pixi/InteractionManager.js:509

    diff --git a/docs/classes/InteractionManager.html b/docs/classes/InteractionManager.html index a13cd7b..54f508b 100644 --- a/docs/classes/InteractionManager.html +++ b/docs/classes/InteractionManager.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/classes/JsonLoader.html b/docs/classes/JsonLoader.html index 152ca3b..a7e8161 100644 --- a/docs/classes/JsonLoader.html +++ b/docs/classes/JsonLoader.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/classes/MovieClip.html b/docs/classes/MovieClip.html index b3d6233..ecfa688 100644 --- a/docs/classes/MovieClip.html +++ b/docs/classes/MovieClip.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • @@ -503,6 +507,13 @@ + + +
  • + interactive + + +
  • @@ -510,6 +521,13 @@ +
  • + +
  • + mask + + +
  • @@ -649,7 +667,7 @@ - src/pixi/display/DisplayObjectContainer.js:41 + src/pixi/display/DisplayObjectContainer.js:42

    @@ -739,7 +757,7 @@ - src/pixi/display/DisplayObjectContainer.js:73 + src/pixi/display/DisplayObjectContainer.js:139

    @@ -838,7 +856,7 @@ - src/pixi/display/DisplayObject.js:106 + src/pixi/display/DisplayObject.js:109

    @@ -922,7 +940,7 @@ - src/pixi/display/DisplayObjectContainer.js:168 + src/pixi/display/DisplayObjectContainer.js:274

    @@ -1180,7 +1198,7 @@ - src/pixi/display/DisplayObject.js:112 + src/pixi/display/DisplayObject.js:115

    @@ -1264,7 +1282,7 @@ - src/pixi/display/DisplayObject.js:138 + src/pixi/display/DisplayObject.js:141

    @@ -1348,7 +1366,7 @@ - src/pixi/display/DisplayObject.js:132 + src/pixi/display/DisplayObject.js:135

    @@ -1432,7 +1450,7 @@ - src/pixi/display/DisplayObject.js:118 + src/pixi/display/DisplayObject.js:121

    @@ -1517,7 +1535,7 @@ for this callback to be fired the mouse must have been pressed down over the dis - src/pixi/display/DisplayObject.js:125 + src/pixi/display/DisplayObject.js:128

    @@ -1656,7 +1674,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObjectContainer.js:186 + src/pixi/display/DisplayObjectContainer.js:291

    @@ -1740,7 +1758,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObject.js:190 + src/pixi/display/DisplayObject.js:193

    @@ -1751,7 +1769,8 @@ for this callback to be fired, The touch must have started over the displayObjec
    -

    Indicates if the sprite will have touch and mouse interactivity. It is false by default

    +

    [Deprecated] Indicates if the sprite will have touch and mouse interactivity. It is false by default +Instead of using this function you can now simply set the interactive property to true or false

    @@ -1968,7 +1987,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObjectContainer.js:128 + src/pixi/display/DisplayObjectContainer.js:227

    @@ -2067,7 +2086,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObject.js:149 + src/pixi/display/DisplayObject.js:152

    @@ -2152,7 +2171,7 @@ basically a touch version of click

    - src/pixi/display/DisplayObject.js:162 + src/pixi/display/DisplayObject.js:165

    @@ -2236,7 +2255,7 @@ basically a touch version of click

    - src/pixi/display/DisplayObject.js:168 + src/pixi/display/DisplayObject.js:171

    @@ -2321,7 +2340,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:156 + src/pixi/display/DisplayObject.js:159

    @@ -2394,7 +2413,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:40 + src/pixi/display/DisplayObject.js:43

    @@ -2565,7 +2584,7 @@ currently supports PIXI.blendModes.NORMAL and PIXI.blendModes.SCREEN

    - src/pixi/display/DisplayObject.js:95 + src/pixi/display/DisplayObject.js:98

    @@ -2732,7 +2751,7 @@ currently supports PIXI.blendModes.NORMAL and PIXI.blendModes.SCREEN

    - src/pixi/display/DisplayObject.js:69 + src/pixi/display/DisplayObject.js:72

    @@ -2751,6 +2770,47 @@ Setting it is a neat way of optimising the hitTest function that the interaction + + + +
    +

    interactive

    + Boolean + + + + + + + + + +
    + + +

    Inherited from + DisplayObject: + + + + src/pixi/display/DisplayObject.js:204 + +

    + + + + +
    + +
    +

    Indicates if the sprite will have touch and mouse interactivity. It is false by default

    +
    + + + + + +
    @@ -2795,6 +2855,49 @@ Setting it is a neat way of optimising the hitTest function that the interaction + + + +
    +

    mask

    + PIXI.Graphics + + + + + + + + + +
    + + +

    Inherited from + DisplayObject: + + + + src/pixi/display/DisplayObject.js:222 + +

    + + + + +
    + +
    +

    Sets a mask for the displayObject. A mask is an object that limits the visibility of an object to the shape of the mask applied to it. +In PIXI a regular mask must be a PIXI.Ggraphics object. This allows for much faster masking in canvas as it utilises shape clipping. +To remove a mask, set this property to null.

    +
    + + + + + +
    @@ -2862,7 +2965,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:55 + src/pixi/display/DisplayObject.js:58

    @@ -2903,7 +3006,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:26 + src/pixi/display/DisplayObject.js:29

    @@ -2988,7 +3091,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:12 + src/pixi/display/DisplayObject.js:15

    @@ -3029,7 +3132,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:33 + src/pixi/display/DisplayObject.js:36

    @@ -3070,7 +3173,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:19 + src/pixi/display/DisplayObject.js:22

    @@ -3111,7 +3214,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:62 + src/pixi/display/DisplayObject.js:65

    @@ -3237,7 +3340,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:47 + src/pixi/display/DisplayObject.js:50

    diff --git a/docs/classes/Point.html b/docs/classes/Point.html index 58d04d9..9cc03ce 100644 --- a/docs/classes/Point.html +++ b/docs/classes/Point.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/classes/Polygon.html b/docs/classes/Polygon.html index 094bfd5..587eb48 100644 --- a/docs/classes/Polygon.html +++ b/docs/classes/Polygon.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • @@ -233,13 +237,14 @@
  • points - Array + Array | Array
    - +

    This cna be an array of Points or a flat array of numbers + that will be interpreted as [x,y, x,y, ...]

    @@ -284,6 +289,13 @@ +
  • + +
  • + contains + + +
  • @@ -338,7 +350,7 @@ - src/pixi/core/Polygon.js:15 + src/pixi/core/Polygon.js:28

    @@ -368,6 +380,129 @@ + + + +
    +

    contains

    + + +
    + (
      + +
    • + + x + +
    • + +
    • + + y + +
    • + +
    ) +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    + + Defined in + + + + + src/pixi/core/Polygon.js:42 + +

    + + + + + +
    + +
    + +
    + + +
    +

    Parameters:

    + +
      + +
    • + + x + Number + + + + +
      +

      The X coord of the point to test

      +
      + + +
    • + +
    • + + y + Number + + + + +
      +

      The Y coord of the point to test

      +
      + + +
    • + +
    +
    + + + +
    +

    Returns:

    + +
    + + + if the x/y coords are within this polygon + +
    +
    + + +
    diff --git a/docs/classes/Rectangle.html b/docs/classes/Rectangle.html index b729b67..bbf3d67 100644 --- a/docs/classes/Rectangle.html +++ b/docs/classes/Rectangle.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • @@ -349,6 +353,13 @@ + + +
  • + contains + + +
  • @@ -469,6 +480,129 @@ + + + +
    +

    contains

    + + +
    + (
      + +
    • + + x + +
    • + +
    • + + y + +
    • + +
    ) +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    + + Defined in + + + + + src/pixi/core/Rectangle.js:54 + +

    + + + + + +
    + +
    + +
    + + +
    +

    Parameters:

    + +
      + +
    • + + x + Number + + + + +
      +

      The X coord of the point to test

      +
      + + +
    • + +
    • + + y + Number + + + + +
      +

      The Y coord of the point to test

      +
      + + +
    • + +
    +
    + + + +
    +

    Returns:

    + +
    + + + if the x/y coords are within this polygon + +
    +
    + + +
    diff --git a/docs/classes/RenderTexture.html b/docs/classes/RenderTexture.html index b275efe..e274141 100644 --- a/docs/classes/RenderTexture.html +++ b/docs/classes/RenderTexture.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/classes/Spine.html b/docs/classes/Spine.html index 68083c4..07fba75 100644 --- a/docs/classes/Spine.html +++ b/docs/classes/Spine.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • @@ -438,6 +442,20 @@ When loaded this class will dispatch a "loaded" event

    + + +
  • + interactive + + + +
  • + +
  • + mask + + +
  • @@ -542,7 +560,7 @@ When loaded this class will dispatch a "loaded" event

    - src/pixi/display/DisplayObjectContainer.js:41 + src/pixi/display/DisplayObjectContainer.js:42

    @@ -632,7 +650,7 @@ When loaded this class will dispatch a "loaded" event

    - src/pixi/display/DisplayObjectContainer.js:73 + src/pixi/display/DisplayObjectContainer.js:139

    @@ -731,7 +749,7 @@ When loaded this class will dispatch a "loaded" event

    - src/pixi/display/DisplayObject.js:106 + src/pixi/display/DisplayObject.js:109

    @@ -815,7 +833,7 @@ When loaded this class will dispatch a "loaded" event

    - src/pixi/display/DisplayObjectContainer.js:168 + src/pixi/display/DisplayObjectContainer.js:274

    @@ -899,7 +917,7 @@ When loaded this class will dispatch a "loaded" event

    - src/pixi/display/DisplayObject.js:112 + src/pixi/display/DisplayObject.js:115

    @@ -983,7 +1001,7 @@ When loaded this class will dispatch a "loaded" event

    - src/pixi/display/DisplayObject.js:138 + src/pixi/display/DisplayObject.js:141

    @@ -1067,7 +1085,7 @@ When loaded this class will dispatch a "loaded" event

    - src/pixi/display/DisplayObject.js:132 + src/pixi/display/DisplayObject.js:135

    @@ -1151,7 +1169,7 @@ When loaded this class will dispatch a "loaded" event

    - src/pixi/display/DisplayObject.js:118 + src/pixi/display/DisplayObject.js:121

    @@ -1236,7 +1254,7 @@ for this callback to be fired the mouse must have been pressed down over the dis - src/pixi/display/DisplayObject.js:125 + src/pixi/display/DisplayObject.js:128

    @@ -1321,7 +1339,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObjectContainer.js:186 + src/pixi/display/DisplayObjectContainer.js:291

    @@ -1405,7 +1423,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObject.js:190 + src/pixi/display/DisplayObject.js:193

    @@ -1416,7 +1434,8 @@ for this callback to be fired, The touch must have started over the displayObjec
    -

    Indicates if the sprite will have touch and mouse interactivity. It is false by default

    +

    [Deprecated] Indicates if the sprite will have touch and mouse interactivity. It is false by default +Instead of using this function you can now simply set the interactive property to true or false

    @@ -1495,7 +1514,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObjectContainer.js:128 + src/pixi/display/DisplayObjectContainer.js:227

    @@ -1594,7 +1613,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObject.js:149 + src/pixi/display/DisplayObject.js:152

    @@ -1679,7 +1698,7 @@ basically a touch version of click

    - src/pixi/display/DisplayObject.js:162 + src/pixi/display/DisplayObject.js:165

    @@ -1763,7 +1782,7 @@ basically a touch version of click

    - src/pixi/display/DisplayObject.js:168 + src/pixi/display/DisplayObject.js:171

    @@ -1848,7 +1867,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:156 + src/pixi/display/DisplayObject.js:159

    @@ -1921,7 +1940,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:40 + src/pixi/display/DisplayObject.js:43

    @@ -1962,7 +1981,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:95 + src/pixi/display/DisplayObject.js:98

    @@ -2044,7 +2063,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:69 + src/pixi/display/DisplayObject.js:72

    @@ -2063,6 +2082,90 @@ Setting it is a neat way of optimising the hitTest function that the interaction + + + +
    +

    interactive

    + Boolean + + + + + + + + + +
    + + +

    Inherited from + DisplayObject: + + + + src/pixi/display/DisplayObject.js:204 + +

    + + + + +
    + +
    +

    Indicates if the sprite will have touch and mouse interactivity. It is false by default

    +
    + + + + + + +
    + + +
    +

    mask

    + PIXI.Graphics + + + + + + + + + +
    + + +

    Inherited from + DisplayObject: + + + + src/pixi/display/DisplayObject.js:222 + +

    + + + + +
    + +
    +

    Sets a mask for the displayObject. A mask is an object that limits the visibility of an object to the shape of the mask applied to it. +In PIXI a regular mask must be a PIXI.Ggraphics object. This allows for much faster masking in canvas as it utilises shape clipping. +To remove a mask, set this property to null.

    +
    + + + + + +
    @@ -2086,7 +2189,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:55 + src/pixi/display/DisplayObject.js:58

    @@ -2127,7 +2230,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:26 + src/pixi/display/DisplayObject.js:29

    @@ -2168,7 +2271,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:12 + src/pixi/display/DisplayObject.js:15

    @@ -2209,7 +2312,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:33 + src/pixi/display/DisplayObject.js:36

    @@ -2250,7 +2353,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:19 + src/pixi/display/DisplayObject.js:22

    @@ -2291,7 +2394,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:62 + src/pixi/display/DisplayObject.js:65

    @@ -2332,7 +2435,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:47 + src/pixi/display/DisplayObject.js:50

    diff --git a/docs/classes/Sprite.html b/docs/classes/Sprite.html index dde0def..aea92ff 100644 --- a/docs/classes/Sprite.html +++ b/docs/classes/Sprite.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • @@ -479,6 +483,20 @@ + + +
  • + interactive + + + +
  • + +
  • + mask + + +
  • @@ -597,7 +615,7 @@ - src/pixi/display/DisplayObjectContainer.js:41 + src/pixi/display/DisplayObjectContainer.js:42

    @@ -687,7 +705,7 @@ - src/pixi/display/DisplayObjectContainer.js:73 + src/pixi/display/DisplayObjectContainer.js:139

    @@ -786,7 +804,7 @@ - src/pixi/display/DisplayObject.js:106 + src/pixi/display/DisplayObject.js:109

    @@ -1084,7 +1102,7 @@ - src/pixi/display/DisplayObjectContainer.js:168 + src/pixi/display/DisplayObjectContainer.js:274

    @@ -1168,7 +1186,7 @@ - src/pixi/display/DisplayObject.js:112 + src/pixi/display/DisplayObject.js:115

    @@ -1252,7 +1270,7 @@ - src/pixi/display/DisplayObject.js:138 + src/pixi/display/DisplayObject.js:141

    @@ -1336,7 +1354,7 @@ - src/pixi/display/DisplayObject.js:132 + src/pixi/display/DisplayObject.js:135

    @@ -1420,7 +1438,7 @@ - src/pixi/display/DisplayObject.js:118 + src/pixi/display/DisplayObject.js:121

    @@ -1505,7 +1523,7 @@ for this callback to be fired the mouse must have been pressed down over the dis - src/pixi/display/DisplayObject.js:125 + src/pixi/display/DisplayObject.js:128

    @@ -1590,7 +1608,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObjectContainer.js:186 + src/pixi/display/DisplayObjectContainer.js:291

    @@ -1674,7 +1692,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObject.js:190 + src/pixi/display/DisplayObject.js:193

    @@ -1685,7 +1703,8 @@ for this callback to be fired, The touch must have started over the displayObjec
    -

    Indicates if the sprite will have touch and mouse interactivity. It is false by default

    +

    [Deprecated] Indicates if the sprite will have touch and mouse interactivity. It is false by default +Instead of using this function you can now simply set the interactive property to true or false

    @@ -1851,7 +1870,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObjectContainer.js:128 + src/pixi/display/DisplayObjectContainer.js:227

    @@ -1950,7 +1969,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObject.js:149 + src/pixi/display/DisplayObject.js:152

    @@ -2035,7 +2054,7 @@ basically a touch version of click

    - src/pixi/display/DisplayObject.js:162 + src/pixi/display/DisplayObject.js:165

    @@ -2119,7 +2138,7 @@ basically a touch version of click

    - src/pixi/display/DisplayObject.js:168 + src/pixi/display/DisplayObject.js:171

    @@ -2204,7 +2223,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:156 + src/pixi/display/DisplayObject.js:159

    @@ -2277,7 +2296,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:40 + src/pixi/display/DisplayObject.js:43

    @@ -2410,7 +2429,7 @@ currently supports PIXI.blendModes.NORMAL and PIXI.blendModes.SCREEN

    - src/pixi/display/DisplayObject.js:95 + src/pixi/display/DisplayObject.js:98

    @@ -2536,7 +2555,7 @@ currently supports PIXI.blendModes.NORMAL and PIXI.blendModes.SCREEN

    - src/pixi/display/DisplayObject.js:69 + src/pixi/display/DisplayObject.js:72

    @@ -2555,6 +2574,90 @@ Setting it is a neat way of optimising the hitTest function that the interaction + + + +
    +

    interactive

    + Boolean + + + + + + + + + +
    + + +

    Inherited from + DisplayObject: + + + + src/pixi/display/DisplayObject.js:204 + +

    + + + + +
    + +
    +

    Indicates if the sprite will have touch and mouse interactivity. It is false by default

    +
    + + + + + + +
    + + +
    +

    mask

    + PIXI.Graphics + + + + + + + + + +
    + + +

    Inherited from + DisplayObject: + + + + src/pixi/display/DisplayObject.js:222 + +

    + + + + +
    + +
    +

    Sets a mask for the displayObject. A mask is an object that limits the visibility of an object to the shape of the mask applied to it. +In PIXI a regular mask must be a PIXI.Ggraphics object. This allows for much faster masking in canvas as it utilises shape clipping. +To remove a mask, set this property to null.

    +
    + + + + + +
    @@ -2578,7 +2681,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:55 + src/pixi/display/DisplayObject.js:58

    @@ -2619,7 +2722,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:26 + src/pixi/display/DisplayObject.js:29

    @@ -2660,7 +2763,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:12 + src/pixi/display/DisplayObject.js:15

    @@ -2701,7 +2804,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:33 + src/pixi/display/DisplayObject.js:36

    @@ -2742,7 +2845,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:19 + src/pixi/display/DisplayObject.js:22

    @@ -2783,7 +2886,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:62 + src/pixi/display/DisplayObject.js:65

    @@ -2868,7 +2971,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:47 + src/pixi/display/DisplayObject.js:50

    diff --git a/docs/classes/SpriteSheetLoader.html b/docs/classes/SpriteSheetLoader.html index 4888be1..f1091f0 100644 --- a/docs/classes/SpriteSheetLoader.html +++ b/docs/classes/SpriteSheetLoader.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/classes/Stage.html b/docs/classes/Stage.html index a18f6e1..e145e0c 100644 --- a/docs/classes/Stage.html +++ b/docs/classes/Stage.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • @@ -475,6 +479,20 @@ + + +
  • + interactive + + + +
  • + +
  • + mask + + +
  • @@ -579,7 +597,7 @@ - src/pixi/display/DisplayObjectContainer.js:41 + src/pixi/display/DisplayObjectContainer.js:42

    @@ -669,7 +687,7 @@ - src/pixi/display/DisplayObjectContainer.js:73 + src/pixi/display/DisplayObjectContainer.js:139

    @@ -768,7 +786,7 @@ - src/pixi/display/DisplayObject.js:106 + src/pixi/display/DisplayObject.js:109

    @@ -852,7 +870,7 @@ - src/pixi/display/DisplayObjectContainer.js:168 + src/pixi/display/DisplayObjectContainer.js:274

    @@ -933,7 +951,7 @@ - src/pixi/display/Stage.js:76 + src/pixi/display/Stage.js:78

    @@ -1007,7 +1025,7 @@ - src/pixi/display/DisplayObject.js:112 + src/pixi/display/DisplayObject.js:115

    @@ -1091,7 +1109,7 @@ - src/pixi/display/DisplayObject.js:138 + src/pixi/display/DisplayObject.js:141

    @@ -1175,7 +1193,7 @@ - src/pixi/display/DisplayObject.js:132 + src/pixi/display/DisplayObject.js:135

    @@ -1259,7 +1277,7 @@ - src/pixi/display/DisplayObject.js:118 + src/pixi/display/DisplayObject.js:121

    @@ -1344,7 +1362,7 @@ for this callback to be fired the mouse must have been pressed down over the dis - src/pixi/display/DisplayObject.js:125 + src/pixi/display/DisplayObject.js:128

    @@ -1429,7 +1447,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObjectContainer.js:186 + src/pixi/display/DisplayObjectContainer.js:291

    @@ -1516,7 +1534,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/Stage.js:63 + src/pixi/display/Stage.js:65

    @@ -1600,7 +1618,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObject.js:190 + src/pixi/display/DisplayObject.js:193

    @@ -1611,7 +1629,8 @@ for this callback to be fired, The touch must have started over the displayObjec
    -

    Indicates if the sprite will have touch and mouse interactivity. It is false by default

    +

    [Deprecated] Indicates if the sprite will have touch and mouse interactivity. It is false by default +Instead of using this function you can now simply set the interactive property to true or false

    @@ -1690,7 +1709,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObjectContainer.js:128 + src/pixi/display/DisplayObjectContainer.js:227

    @@ -1789,7 +1808,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObject.js:149 + src/pixi/display/DisplayObject.js:152

    @@ -1874,7 +1893,7 @@ basically a touch version of click

    - src/pixi/display/DisplayObject.js:162 + src/pixi/display/DisplayObject.js:165

    @@ -1958,7 +1977,7 @@ basically a touch version of click

    - src/pixi/display/DisplayObject.js:168 + src/pixi/display/DisplayObject.js:171

    @@ -2043,7 +2062,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:156 + src/pixi/display/DisplayObject.js:159

    @@ -2120,7 +2139,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/Stage.js:40 + src/pixi/display/Stage.js:42

    @@ -2170,7 +2189,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:40 + src/pixi/display/DisplayObject.js:43

    @@ -2211,7 +2230,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:95 + src/pixi/display/DisplayObject.js:98

    @@ -2293,7 +2312,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:69 + src/pixi/display/DisplayObject.js:72

    @@ -2312,6 +2331,90 @@ Setting it is a neat way of optimising the hitTest function that the interaction + + + +
    +

    interactive

    + Boolean + + + + + + + + + +
    + + +

    Inherited from + DisplayObject: + + + + src/pixi/display/DisplayObject.js:204 + +

    + + + + +
    + +
    +

    Indicates if the sprite will have touch and mouse interactivity. It is false by default

    +
    + + + + + + +
    + + +
    +

    mask

    + PIXI.Graphics + + + + + + + + + +
    + + +

    Inherited from + DisplayObject: + + + + src/pixi/display/DisplayObject.js:222 + +

    + + + + +
    + +
    +

    Sets a mask for the displayObject. A mask is an object that limits the visibility of an object to the shape of the mask applied to it. +In PIXI a regular mask must be a PIXI.Ggraphics object. This allows for much faster masking in canvas as it utilises shape clipping. +To remove a mask, set this property to null.

    +
    + + + + + +
    @@ -2335,7 +2438,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:55 + src/pixi/display/DisplayObject.js:58

    @@ -2376,7 +2479,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:26 + src/pixi/display/DisplayObject.js:29

    @@ -2417,7 +2520,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:12 + src/pixi/display/DisplayObject.js:15

    @@ -2458,7 +2561,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:33 + src/pixi/display/DisplayObject.js:36

    @@ -2499,7 +2602,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:19 + src/pixi/display/DisplayObject.js:22

    @@ -2540,7 +2643,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:62 + src/pixi/display/DisplayObject.js:65

    @@ -2581,7 +2684,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:47 + src/pixi/display/DisplayObject.js:50

    diff --git a/docs/classes/Text.html b/docs/classes/Text.html index cc2f15a..db91c58 100644 --- a/docs/classes/Text.html +++ b/docs/classes/Text.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • @@ -592,6 +596,20 @@ + + +
  • + interactive + + + +
  • + +
  • + mask + + +
  • @@ -710,7 +728,7 @@ - src/pixi/display/DisplayObjectContainer.js:41 + src/pixi/display/DisplayObjectContainer.js:42

    @@ -800,7 +818,7 @@ - src/pixi/display/DisplayObjectContainer.js:73 + src/pixi/display/DisplayObjectContainer.js:139

    @@ -899,7 +917,7 @@ - src/pixi/display/DisplayObject.js:106 + src/pixi/display/DisplayObject.js:109

    @@ -983,7 +1001,7 @@ - src/pixi/display/DisplayObjectContainer.js:168 + src/pixi/display/DisplayObjectContainer.js:274

    @@ -1067,7 +1085,7 @@ - src/pixi/display/DisplayObject.js:112 + src/pixi/display/DisplayObject.js:115

    @@ -1151,7 +1169,7 @@ - src/pixi/display/DisplayObject.js:138 + src/pixi/display/DisplayObject.js:141

    @@ -1235,7 +1253,7 @@ - src/pixi/display/DisplayObject.js:132 + src/pixi/display/DisplayObject.js:135

    @@ -1319,7 +1337,7 @@ - src/pixi/display/DisplayObject.js:118 + src/pixi/display/DisplayObject.js:121

    @@ -1404,7 +1422,7 @@ for this callback to be fired the mouse must have been pressed down over the dis - src/pixi/display/DisplayObject.js:125 + src/pixi/display/DisplayObject.js:128

    @@ -1489,7 +1507,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObjectContainer.js:186 + src/pixi/display/DisplayObjectContainer.js:291

    @@ -1573,7 +1591,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObject.js:190 + src/pixi/display/DisplayObject.js:193

    @@ -1584,7 +1602,8 @@ for this callback to be fired, The touch must have started over the displayObjec
    -

    Indicates if the sprite will have touch and mouse interactivity. It is false by default

    +

    [Deprecated] Indicates if the sprite will have touch and mouse interactivity. It is false by default +Instead of using this function you can now simply set the interactive property to true or false

    @@ -1944,7 +1963,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObjectContainer.js:128 + src/pixi/display/DisplayObjectContainer.js:227

    @@ -2043,7 +2062,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObject.js:149 + src/pixi/display/DisplayObject.js:152

    @@ -2128,7 +2147,7 @@ basically a touch version of click

    - src/pixi/display/DisplayObject.js:162 + src/pixi/display/DisplayObject.js:165

    @@ -2212,7 +2231,7 @@ basically a touch version of click

    - src/pixi/display/DisplayObject.js:168 + src/pixi/display/DisplayObject.js:171

    @@ -2297,7 +2316,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:156 + src/pixi/display/DisplayObject.js:159

    @@ -2370,7 +2389,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:40 + src/pixi/display/DisplayObject.js:43

    @@ -2497,7 +2516,7 @@ currently supports PIXI.blendModes.NORMAL and PIXI.blendModes.SCREEN

    - src/pixi/display/DisplayObject.js:95 + src/pixi/display/DisplayObject.js:98

    @@ -2620,7 +2639,7 @@ currently supports PIXI.blendModes.NORMAL and PIXI.blendModes.SCREEN

    - src/pixi/display/DisplayObject.js:69 + src/pixi/display/DisplayObject.js:72

    @@ -2639,6 +2658,90 @@ Setting it is a neat way of optimising the hitTest function that the interaction + + + +
    +

    interactive

    + Boolean + + + + + + + + + +
    + + +

    Inherited from + DisplayObject: + + + + src/pixi/display/DisplayObject.js:204 + +

    + + + + +
    + +
    +

    Indicates if the sprite will have touch and mouse interactivity. It is false by default

    +
    + + + + + + +
    + + +
    +

    mask

    + PIXI.Graphics + + + + + + + + + +
    + + +

    Inherited from + DisplayObject: + + + + src/pixi/display/DisplayObject.js:222 + +

    + + + + +
    + +
    +

    Sets a mask for the displayObject. A mask is an object that limits the visibility of an object to the shape of the mask applied to it. +In PIXI a regular mask must be a PIXI.Ggraphics object. This allows for much faster masking in canvas as it utilises shape clipping. +To remove a mask, set this property to null.

    +
    + + + + + +
    @@ -2662,7 +2765,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:55 + src/pixi/display/DisplayObject.js:58

    @@ -2703,7 +2806,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:26 + src/pixi/display/DisplayObject.js:29

    @@ -2744,7 +2847,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:12 + src/pixi/display/DisplayObject.js:15

    @@ -2785,7 +2888,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:33 + src/pixi/display/DisplayObject.js:36

    @@ -2826,7 +2929,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:19 + src/pixi/display/DisplayObject.js:22

    @@ -2867,7 +2970,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:62 + src/pixi/display/DisplayObject.js:65

    @@ -2949,7 +3052,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:47 + src/pixi/display/DisplayObject.js:50

    diff --git a/docs/classes/Texture.html b/docs/classes/Texture.html index be17b99..5069fde 100644 --- a/docs/classes/Texture.html +++ b/docs/classes/Texture.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/classes/TilingSprite.html b/docs/classes/TilingSprite.html index ee970f5..663486b 100644 --- a/docs/classes/TilingSprite.html +++ b/docs/classes/TilingSprite.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • @@ -475,6 +479,20 @@ + + +
  • + interactive + + + +
  • + +
  • + mask + + +
  • @@ -593,7 +611,7 @@ - src/pixi/display/DisplayObjectContainer.js:41 + src/pixi/display/DisplayObjectContainer.js:42

    @@ -683,7 +701,7 @@ - src/pixi/display/DisplayObjectContainer.js:73 + src/pixi/display/DisplayObjectContainer.js:139

    @@ -782,7 +800,7 @@ - src/pixi/display/DisplayObject.js:106 + src/pixi/display/DisplayObject.js:109

    @@ -866,7 +884,7 @@ - src/pixi/display/DisplayObjectContainer.js:168 + src/pixi/display/DisplayObjectContainer.js:274

    @@ -950,7 +968,7 @@ - src/pixi/display/DisplayObject.js:112 + src/pixi/display/DisplayObject.js:115

    @@ -1034,7 +1052,7 @@ - src/pixi/display/DisplayObject.js:138 + src/pixi/display/DisplayObject.js:141

    @@ -1118,7 +1136,7 @@ - src/pixi/display/DisplayObject.js:132 + src/pixi/display/DisplayObject.js:135

    @@ -1202,7 +1220,7 @@ - src/pixi/display/DisplayObject.js:118 + src/pixi/display/DisplayObject.js:121

    @@ -1287,7 +1305,7 @@ for this callback to be fired the mouse must have been pressed down over the dis - src/pixi/display/DisplayObject.js:125 + src/pixi/display/DisplayObject.js:128

    @@ -1372,7 +1390,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObjectContainer.js:186 + src/pixi/display/DisplayObjectContainer.js:291

    @@ -1456,7 +1474,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObject.js:190 + src/pixi/display/DisplayObject.js:193

    @@ -1467,7 +1485,8 @@ for this callback to be fired, The touch must have started over the displayObjec
    -

    Indicates if the sprite will have touch and mouse interactivity. It is false by default

    +

    [Deprecated] Indicates if the sprite will have touch and mouse interactivity. It is false by default +Instead of using this function you can now simply set the interactive property to true or false

    @@ -1546,7 +1565,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObjectContainer.js:128 + src/pixi/display/DisplayObjectContainer.js:227

    @@ -1645,7 +1664,7 @@ for this callback to be fired, The touch must have started over the displayObjec - src/pixi/display/DisplayObject.js:149 + src/pixi/display/DisplayObject.js:152

    @@ -1730,7 +1749,7 @@ basically a touch version of click

    - src/pixi/display/DisplayObject.js:162 + src/pixi/display/DisplayObject.js:165

    @@ -1814,7 +1833,7 @@ basically a touch version of click

    - src/pixi/display/DisplayObject.js:168 + src/pixi/display/DisplayObject.js:171

    @@ -1899,7 +1918,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:156 + src/pixi/display/DisplayObject.js:159

    @@ -1972,7 +1991,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:40 + src/pixi/display/DisplayObject.js:43

    @@ -2013,7 +2032,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:95 + src/pixi/display/DisplayObject.js:98

    @@ -2095,7 +2114,7 @@ for this callback to be fired, The touch must have started over the sprite

    - src/pixi/display/DisplayObject.js:69 + src/pixi/display/DisplayObject.js:72

    @@ -2114,6 +2133,90 @@ Setting it is a neat way of optimising the hitTest function that the interaction + + + +
    +

    interactive

    + Boolean + + + + + + + + + +
    + + +

    Inherited from + DisplayObject: + + + + src/pixi/display/DisplayObject.js:204 + +

    + + + + +
    + +
    +

    Indicates if the sprite will have touch and mouse interactivity. It is false by default

    +
    + + + + + + +
    + + +
    +

    mask

    + PIXI.Graphics + + + + + + + + + +
    + + +

    Inherited from + DisplayObject: + + + + src/pixi/display/DisplayObject.js:222 + +

    + + + + +
    + +
    +

    Sets a mask for the displayObject. A mask is an object that limits the visibility of an object to the shape of the mask applied to it. +In PIXI a regular mask must be a PIXI.Ggraphics object. This allows for much faster masking in canvas as it utilises shape clipping. +To remove a mask, set this property to null.

    +
    + + + + + +
    @@ -2137,7 +2240,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:55 + src/pixi/display/DisplayObject.js:58

    @@ -2178,7 +2281,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:26 + src/pixi/display/DisplayObject.js:29

    @@ -2219,7 +2322,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:12 + src/pixi/display/DisplayObject.js:15

    @@ -2260,7 +2363,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:33 + src/pixi/display/DisplayObject.js:36

    @@ -2301,7 +2404,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:19 + src/pixi/display/DisplayObject.js:22

    @@ -2342,7 +2445,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:62 + src/pixi/display/DisplayObject.js:65

    @@ -2386,7 +2489,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/extras/TilingSprite.js:29 + src/pixi/extras/TilingSprite.js:28

    @@ -2430,7 +2533,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/extras/TilingSprite.js:23 + src/pixi/extras/TilingSprite.js:22

    @@ -2471,7 +2574,7 @@ Setting it is a neat way of optimising the hitTest function that the interaction - src/pixi/display/DisplayObject.js:47 + src/pixi/display/DisplayObject.js:50

    diff --git a/docs/classes/WebGLBatch.html b/docs/classes/WebGLBatch.html index c1c627a..39646be 100644 --- a/docs/classes/WebGLBatch.html +++ b/docs/classes/WebGLBatch.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/classes/WebGLRenderer.html b/docs/classes/WebGLRenderer.html index 6646299..4b5ffef 100644 --- a/docs/classes/WebGLRenderer.html +++ b/docs/classes/WebGLRenderer.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • @@ -415,7 +419,7 @@ Dont forget to add the view to your DOM or you will not see anything :)

    - src/pixi/renderers/webgl/WebGLRenderer.js:116 + src/pixi/renderers/webgl/WebGLRenderer.js:121

    @@ -508,7 +512,7 @@ Dont forget to add the view to your DOM or you will not see anything :)

    - src/pixi/renderers/webgl/WebGLRenderer.js:258 + src/pixi/renderers/webgl/WebGLRenderer.js:263

    diff --git a/docs/data.json b/docs/data.json index 711f8e8..fa53e3f 100644 --- a/docs/data.json +++ b/docs/data.json @@ -7,6 +7,24 @@ "logo": "http://www.goodboydigital.com/pixijs/logo_small.png" }, "files": { + "src/pixi/core/Circle.js": { + "name": "src/pixi/core/Circle.js", + "modules": {}, + "classes": { + "Circle": 1 + }, + "fors": {}, + "namespaces": {} + }, + "src/pixi/core/Ellipse.js": { + "name": "src/pixi/core/Ellipse.js", + "modules": {}, + "classes": { + "Ellipse": 1 + }, + "fors": {}, + "namespaces": {} + }, "src/pixi/core/Point.js": { "name": "src/pixi/core/Point.js", "modules": {}, @@ -118,6 +136,20 @@ "fors": {}, "namespaces": {} }, + "src/pixi/filters/FilterBlock.js": { + "name": "src/pixi/filters/FilterBlock.js", + "modules": {}, + "classes": {}, + "fors": {}, + "namespaces": {} + }, + "src/pixi/filters/MaskFilter.js": { + "name": "src/pixi/filters/MaskFilter.js", + "modules": {}, + "classes": {}, + "fors": {}, + "namespaces": {} + }, "src/pixi/loaders/AssetLoader.js": { "name": "src/pixi/loaders/AssetLoader.js", "modules": {}, @@ -343,6 +375,8 @@ "name": "PIXI", "submodules": {}, "classes": { + "Circle": 1, + "Ellipse": 1, "Point": 1, "Polygon": 1, "Rectangle": 1, @@ -376,10 +410,75 @@ "namespaces": {}, "tag": "module", "file": "src/pixi/InteractionManager.js", - "line": 524 + "line": 493 } }, "classes": { + "Circle": { + "name": "Circle", + "shortname": "Circle", + "classitems": [], + "plugins": [], + "extensions": [], + "plugin_for": [], + "extension_for": [], + "module": "PIXI", + "file": "src/pixi/core/Circle.js", + "line": 5, + "is_constructor": 1, + "params": [ + { + "name": "x", + "description": "The X coord of the upper-left corner of the framing rectangle of this circle", + "type": "Number" + }, + { + "name": "y", + "description": "The Y coord of the upper-left corner of the framing rectangle of this circle", + "type": "Number" + }, + { + "name": "radius", + "description": "The radius of the circle", + "type": "Number" + } + ] + }, + "Ellipse": { + "name": "Ellipse", + "shortname": "Ellipse", + "classitems": [], + "plugins": [], + "extensions": [], + "plugin_for": [], + "extension_for": [], + "module": "PIXI", + "file": "src/pixi/core/Ellipse.js", + "line": 5, + "is_constructor": 1, + "params": [ + { + "name": "x", + "description": "The X coord of the upper-left corner of the framing rectangle of this circle", + "type": "Number" + }, + { + "name": "y", + "description": "The Y coord of the upper-left corner of the framing rectangle of this circle", + "type": "Number" + }, + { + "name": "width", + "description": "The overall height of this ellipse", + "type": "Number" + }, + { + "name": "height", + "description": "The overall width of this ellipse", + "type": "Number" + } + ] + }, "Point": { "name": "Point", "shortname": "Point", @@ -421,8 +520,8 @@ "params": [ { "name": "points", - "description": "", - "type": "Array" + "description": "This cna be an array of Points or a flat array of numbers\n that will be interpreted as [x,y, x,y, ...]", + "type": "Array|Array" } ] }, @@ -1112,11 +1211,150 @@ "extension_for": [], "module": "PIXI", "file": "src/pixi/InteractionManager.js", - "line": 524, + "line": 493, "is_constructor": 1 } }, "classitems": [ + { + "file": "src/pixi/core/Circle.js", + "line": 1, + "author": "Chad Engler ", + "class": "Circle" + }, + { + "file": "src/pixi/core/Circle.js", + "line": 14, + "itemtype": "property", + "name": "x", + "type": "Number", + "default": "0", + "class": "Circle" + }, + { + "file": "src/pixi/core/Circle.js", + "line": 21, + "itemtype": "property", + "name": "y", + "type": "Number", + "default": "0", + "class": "Circle" + }, + { + "file": "src/pixi/core/Circle.js", + "line": 28, + "itemtype": "property", + "name": "radius", + "type": "Number", + "default": "0", + "class": "Circle" + }, + { + "file": "src/pixi/core/Circle.js", + "line": 36, + "itemtype": "method", + "name": "clone", + "return": { + "description": "a copy of the polygon" + }, + "class": "Circle" + }, + { + "file": "src/pixi/core/Circle.js", + "line": 45, + "itemtype": "method", + "name": "contains", + "params": [ + { + "name": "x", + "description": "The X coord of the point to test", + "type": "Number" + }, + { + "name": "y", + "description": "The Y coord of the point to test", + "type": "Number" + } + ], + "return": { + "description": "if the x/y coords are within this polygon" + }, + "class": "Circle" + }, + { + "file": "src/pixi/core/Ellipse.js", + "line": 1, + "author": "Chad Engler ", + "class": "Ellipse" + }, + { + "file": "src/pixi/core/Ellipse.js", + "line": 15, + "itemtype": "property", + "name": "x", + "type": "Number", + "default": "0", + "class": "Ellipse" + }, + { + "file": "src/pixi/core/Ellipse.js", + "line": 22, + "itemtype": "property", + "name": "y", + "type": "Number", + "default": "0", + "class": "Ellipse" + }, + { + "file": "src/pixi/core/Ellipse.js", + "line": 29, + "itemtype": "property", + "name": "width", + "type": "Number", + "default": "0", + "class": "Ellipse" + }, + { + "file": "src/pixi/core/Ellipse.js", + "line": 36, + "itemtype": "property", + "name": "height", + "type": "Number", + "default": "0", + "class": "Ellipse" + }, + { + "file": "src/pixi/core/Ellipse.js", + "line": 44, + "itemtype": "method", + "name": "clone", + "return": { + "description": "a copy of the polygon" + }, + "class": "Ellipse" + }, + { + "file": "src/pixi/core/Ellipse.js", + "line": 53, + "itemtype": "method", + "name": "contains", + "params": [ + { + "name": "x", + "description": "The X coord of the point to test", + "type": "Number" + }, + { + "name": "y", + "description": "The Y coord of the point to test", + "type": "Number" + } + ], + "return": { + "description": "if the x/y coords are within this polygon" + }, + "class": "Ellipse" + }, { "file": "src/pixi/core/Point.js", "line": 1, @@ -1159,7 +1397,7 @@ }, { "file": "src/pixi/core/Polygon.js", - "line": 15, + "line": 28, "itemtype": "method", "name": "clone", "return": { @@ -1167,6 +1405,28 @@ }, "class": "Polygon" }, + { + "file": "src/pixi/core/Polygon.js", + "line": 42, + "itemtype": "method", + "name": "contains", + "params": [ + { + "name": "x", + "description": "The X coord of the point to test", + "type": "Number" + }, + { + "name": "y", + "description": "The Y coord of the point to test", + "type": "Number" + } + ], + "return": { + "description": "if the x/y coords are within this polygon" + }, + "class": "Polygon" + }, { "file": "src/pixi/core/Rectangle.js", "line": 1, @@ -1219,6 +1479,28 @@ }, "class": "Rectangle" }, + { + "file": "src/pixi/core/Rectangle.js", + "line": 54, + "itemtype": "method", + "name": "contains", + "params": [ + { + "name": "x", + "description": "The X coord of the point to test", + "type": "Number" + }, + { + "name": "y", + "description": "The Y coord of the point to test", + "type": "Number" + } + ], + "return": { + "description": "if the x/y coords are within this polygon" + }, + "class": "Rectangle" + }, { "file": "src/pixi/display/DisplayObject.js", "line": 1, @@ -1227,7 +1509,7 @@ }, { "file": "src/pixi/display/DisplayObject.js", - "line": 12, + "line": 15, "description": "The coordinate of the object relative to the local coordinates of the parent.", "itemtype": "property", "name": "position", @@ -1236,7 +1518,7 @@ }, { "file": "src/pixi/display/DisplayObject.js", - "line": 19, + "line": 22, "description": "The scale factor of the object.", "itemtype": "property", "name": "scale", @@ -1245,7 +1527,7 @@ }, { "file": "src/pixi/display/DisplayObject.js", - "line": 26, + "line": 29, "description": "The pivot point of the displayObject that it rotates around", "itemtype": "property", "name": "pivot", @@ -1254,7 +1536,7 @@ }, { "file": "src/pixi/display/DisplayObject.js", - "line": 33, + "line": 36, "description": "The rotation of the object in radians.", "itemtype": "property", "name": "rotation", @@ -1263,7 +1545,7 @@ }, { "file": "src/pixi/display/DisplayObject.js", - "line": 40, + "line": 43, "description": "The opacity of the object.", "itemtype": "property", "name": "alpha", @@ -1272,7 +1554,7 @@ }, { "file": "src/pixi/display/DisplayObject.js", - "line": 47, + "line": 50, "description": "The visibility of the object.", "itemtype": "property", "name": "visible", @@ -1281,7 +1563,7 @@ }, { "file": "src/pixi/display/DisplayObject.js", - "line": 55, + "line": 58, "description": "[read-only] The display object container that contains this display object.", "itemtype": "property", "name": "parent", @@ -1290,7 +1572,7 @@ }, { "file": "src/pixi/display/DisplayObject.js", - "line": 62, + "line": 65, "description": "[read-only] The stage the display object is connected to, or undefined if it is not connected to the stage.", "itemtype": "property", "name": "stage", @@ -1299,7 +1581,7 @@ }, { "file": "src/pixi/display/DisplayObject.js", - "line": 69, + "line": 72, "description": "This is the defined area that will pick up mouse / touch events. It is null by default.\nSetting it is a neat way of optimising the hitTest function that the interactionManager will use (as it will not need to hit test all the children)", "itemtype": "property", "name": "hitArea", @@ -1308,7 +1590,7 @@ }, { "file": "src/pixi/display/DisplayObject.js", - "line": 95, + "line": 98, "description": "This is used to indicate if the displayObject should display a mouse hand cursor on rollover", "itemtype": "property", "name": "buttonMode", @@ -1317,7 +1599,7 @@ }, { "file": "src/pixi/display/DisplayObject.js", - "line": 106, + "line": 109, "description": "A callback that is used when the users clicks on the displayObject with their mouse", "itemtype": "method", "name": "click", @@ -1332,7 +1614,7 @@ }, { "file": "src/pixi/display/DisplayObject.js", - "line": 112, + "line": 115, "description": "A callback that is used when the user clicks the mouse down over the sprite", "itemtype": "method", "name": "mousedown", @@ -1347,7 +1629,7 @@ }, { "file": "src/pixi/display/DisplayObject.js", - "line": 118, + "line": 121, "description": "A callback that is used when the user releases the mouse that was over the displayObject\nfor this callback to be fired the mouse must have been pressed down over the displayObject", "itemtype": "method", "name": "mouseup", @@ -1362,7 +1644,7 @@ }, { "file": "src/pixi/display/DisplayObject.js", - "line": 125, + "line": 128, "description": "A callback that is used when the user releases the mouse that was over the displayObject but is no longer over the displayObject\nfor this callback to be fired, The touch must have started over the displayObject", "itemtype": "method", "name": "mouseupoutside", @@ -1377,7 +1659,7 @@ }, { "file": "src/pixi/display/DisplayObject.js", - "line": 132, + "line": 135, "description": "A callback that is used when the users mouse rolls over the displayObject", "itemtype": "method", "name": "mouseover", @@ -1392,7 +1674,7 @@ }, { "file": "src/pixi/display/DisplayObject.js", - "line": 138, + "line": 141, "description": "A callback that is used when the users mouse leaves the displayObject", "itemtype": "method", "name": "mouseout", @@ -1407,7 +1689,7 @@ }, { "file": "src/pixi/display/DisplayObject.js", - "line": 149, + "line": 152, "description": "A callback that is used when the users taps on the sprite with their finger\nbasically a touch version of click", "itemtype": "method", "name": "tap", @@ -1422,7 +1704,7 @@ }, { "file": "src/pixi/display/DisplayObject.js", - "line": 156, + "line": 159, "description": "A callback that is used when the user touch's over the displayObject", "itemtype": "method", "name": "touchstart", @@ -1437,7 +1719,7 @@ }, { "file": "src/pixi/display/DisplayObject.js", - "line": 162, + "line": 165, "description": "A callback that is used when the user releases a touch over the displayObject", "itemtype": "method", "name": "touchend", @@ -1452,7 +1734,7 @@ }, { "file": "src/pixi/display/DisplayObject.js", - "line": 168, + "line": 171, "description": "A callback that is used when the user releases the touch that was over the displayObject\nfor this callback to be fired, The touch must have started over the sprite", "itemtype": "method", "name": "touchendoutside", @@ -1467,8 +1749,8 @@ }, { "file": "src/pixi/display/DisplayObject.js", - "line": 190, - "description": "Indicates if the sprite will have touch and mouse interactivity. It is false by default", + "line": 193, + "description": "[Deprecated] Indicates if the sprite will have touch and mouse interactivity. It is false by default\nInstead of using this function you can now simply set the interactive property to true or false", "itemtype": "method", "name": "setInteractive", "params": [ @@ -1483,6 +1765,24 @@ { "file": "src/pixi/display/DisplayObject.js", "line": 204, + "description": "Indicates if the sprite will have touch and mouse interactivity. It is false by default", + "itemtype": "property", + "name": "interactive", + "type": "Boolean", + "class": "DisplayObject" + }, + { + "file": "src/pixi/display/DisplayObject.js", + "line": 222, + "description": "Sets a mask for the displayObject. A mask is an object that limits the visibility of an object to the shape of the mask applied to it.\nIn PIXI a regular mask must be a PIXI.Ggraphics object. This allows for much faster masking in canvas as it utilises shape clipping.\nTo remove a mask, set this property to null.", + "itemtype": "property", + "name": "mask", + "type": "PIXI.Graphics", + "class": "DisplayObject" + }, + { + "file": "src/pixi/display/DisplayObject.js", + "line": 403, "access": "private", "tagname": "", "class": "DisplayObject" @@ -1504,7 +1804,7 @@ }, { "file": "src/pixi/display/DisplayObjectContainer.js", - "line": 41, + "line": 42, "description": "Adds a child to the container.", "itemtype": "method", "name": "addChild", @@ -1519,7 +1819,7 @@ }, { "file": "src/pixi/display/DisplayObjectContainer.js", - "line": 73, + "line": 139, "description": "Adds a child to the container at a specified index. If the index is out of bounds an error will be thrown", "itemtype": "method", "name": "addChildAt", @@ -1539,7 +1839,7 @@ }, { "file": "src/pixi/display/DisplayObjectContainer.js", - "line": 128, + "line": 227, "description": "Swaps the depth of 2 displayObjects", "itemtype": "method", "name": "swapChildren", @@ -1559,7 +1859,7 @@ }, { "file": "src/pixi/display/DisplayObjectContainer.js", - "line": 168, + "line": 274, "description": "Returns the Child at the specified index", "itemtype": "method", "name": "getChildAt", @@ -1574,7 +1874,7 @@ }, { "file": "src/pixi/display/DisplayObjectContainer.js", - "line": 186, + "line": 291, "description": "Removes a child from the container.", "itemtype": "method", "name": "removeChild", @@ -1589,7 +1889,7 @@ }, { "file": "src/pixi/display/DisplayObjectContainer.js", - "line": 226, + "line": 358, "access": "private", "tagname": "", "class": "DisplayObjectContainer" @@ -1819,7 +2119,7 @@ }, { "file": "src/pixi/display/Stage.js", - "line": 40, + "line": 42, "itemtype": "method", "name": "updateTransform", "internal": "", @@ -1827,7 +2127,7 @@ }, { "file": "src/pixi/display/Stage.js", - "line": 63, + "line": 65, "itemtype": "method", "name": "setBackgroundColor", "params": [ @@ -1841,7 +2141,7 @@ }, { "file": "src/pixi/display/Stage.js", - "line": 76, + "line": 78, "description": "This will return the point containing global coords of the mouse.", "itemtype": "method", "name": "getMousePosition", @@ -2005,7 +2305,7 @@ }, { "file": "src/pixi/extras/TilingSprite.js", - "line": 23, + "line": 22, "description": "The scaling of the image that is being tiled", "itemtype": "property", "name": "tileScale", @@ -2014,13 +2314,25 @@ }, { "file": "src/pixi/extras/TilingSprite.js", - "line": 29, + "line": 28, "description": "The offset position of the image that is being tiled", "itemtype": "property", "name": "tilePosition", "type": "Point", "class": "TilingSprite" }, + { + "file": "src/pixi/filters/FilterBlock.js", + "line": 1, + "author": "Mat Groves http://matgroves.com/ @Doormat23", + "class": "AssetLoader" + }, + { + "file": "src/pixi/filters/MaskFilter.js", + "line": 1, + "author": "Mat Groves http://matgroves.com/ @Doormat23", + "class": "AssetLoader" + }, { "file": "src/pixi/loaders/AssetLoader.js", "line": 1, @@ -2473,21 +2785,21 @@ }, { "file": "src/pixi/renderers/canvas/CanvasRenderer.js", - "line": 218, + "line": 235, "access": "private", "tagname": "", "class": "CanvasRenderer" }, { "file": "src/pixi/renderers/canvas/CanvasRenderer.js", - "line": 253, + "line": 268, "access": "private", "tagname": "", "class": "CanvasRenderer" }, { "file": "src/pixi/renderers/canvas/CanvasRenderer.js", - "line": 284, + "line": 299, "access": "private", "tagname": "", "class": "CanvasRenderer" @@ -2674,35 +2986,35 @@ }, { "file": "src/pixi/renderers/webgl/WebGLRenderGroup.js", - "line": 624, + "line": 725, "access": "private", "tagname": "", "class": "WebGLBatch" }, { "file": "src/pixi/renderers/webgl/WebGLRenderGroup.js", - "line": 710, + "line": 732, "access": "private", "tagname": "", "class": "WebGLBatch" }, { "file": "src/pixi/renderers/webgl/WebGLRenderGroup.js", - "line": 765, + "line": 787, "access": "private", "tagname": "", "class": "WebGLBatch" }, { "file": "src/pixi/renderers/webgl/WebGLRenderGroup.js", - "line": 853, + "line": 875, "access": "private", "tagname": "", "class": "WebGLBatch" }, { "file": "src/pixi/renderers/webgl/WebGLRenderGroup.js", - "line": 890, + "line": 912, "access": "private", "tagname": "", "class": "WebGLBatch" @@ -2715,28 +3027,28 @@ }, { "file": "src/pixi/renderers/webgl/WebGLRenderer.js", - "line": 85, + "line": 90, "access": "private", "tagname": "", "class": "WebGLRenderer" }, { "file": "src/pixi/renderers/webgl/WebGLRenderer.js", - "line": 100, + "line": 105, "access": "private", "tagname": "", "class": "WebGLRenderer" }, { "file": "src/pixi/renderers/webgl/WebGLRenderer.js", - "line": 110, + "line": 115, "access": "private", "tagname": "", "class": "WebGLRenderer" }, { "file": "src/pixi/renderers/webgl/WebGLRenderer.js", - "line": 116, + "line": 121, "description": "Renders the stage to its webGL view", "itemtype": "method", "name": "render", @@ -2751,14 +3063,14 @@ }, { "file": "src/pixi/renderers/webgl/WebGLRenderer.js", - "line": 199, + "line": 204, "access": "private", "tagname": "", "class": "WebGLRenderer" }, { "file": "src/pixi/renderers/webgl/WebGLRenderer.js", - "line": 258, + "line": 263, "description": "resizes the webGL view to the specified width and height", "itemtype": "method", "name": "resize", @@ -2778,14 +3090,14 @@ }, { "file": "src/pixi/renderers/webgl/WebGLRenderer.js", - "line": 285, + "line": 290, "access": "private", "tagname": "", "class": "WebGLRenderer" }, { "file": "src/pixi/renderers/webgl/WebGLRenderer.js", - "line": 294, + "line": 299, "access": "private", "tagname": "", "class": "WebGLRenderer" @@ -3276,7 +3588,7 @@ }, { "file": "src/pixi/InteractionManager.js", - "line": 530, + "line": 499, "description": "This point stores the global coords of where the touch/mouse event happened", "itemtype": "property", "name": "global", @@ -3285,7 +3597,7 @@ }, { "file": "src/pixi/InteractionManager.js", - "line": 540, + "line": 509, "description": "The target Sprite that was interacted with", "itemtype": "property", "name": "target", @@ -3294,7 +3606,7 @@ }, { "file": "src/pixi/InteractionManager.js", - "line": 547, + "line": 516, "description": "When passed to an event handler, this will be the original DOM Event that was captured", "itemtype": "property", "name": "originalEvent", @@ -3303,7 +3615,7 @@ }, { "file": "src/pixi/InteractionManager.js", - "line": 555, + "line": 524, "description": "This will return the local coords of the specified displayObject for this InteractionData", "itemtype": "method", "name": "getLocalPosition", @@ -3342,7 +3654,7 @@ "warnings": [ { "message": "unknown tag: internal", - "line": " src/pixi/display/Stage.js:40" + "line": " src/pixi/display/Stage.js:42" }, { "message": "unknown tag: methos", @@ -3352,6 +3664,14 @@ "message": "unknown tag: methos", "line": " src/pixi/text/Text.js:63" }, + { + "message": "Missing item type", + "line": " src/pixi/core/Circle.js:1" + }, + { + "message": "Missing item type", + "line": " src/pixi/core/Ellipse.js:1" + }, { "message": "Missing item type", "line": " src/pixi/core/Point.js:1" @@ -3370,7 +3690,7 @@ }, { "message": "Missing item type", - "line": " src/pixi/display/DisplayObject.js:204" + "line": " src/pixi/display/DisplayObject.js:403" }, { "message": "Missing item type", @@ -3378,7 +3698,7 @@ }, { "message": "Missing item type", - "line": " src/pixi/display/DisplayObjectContainer.js:226" + "line": " src/pixi/display/DisplayObjectContainer.js:358" }, { "message": "Missing item type", @@ -3512,6 +3832,14 @@ "message": "Missing item type", "line": " src/pixi/extras/TilingSprite.js:1" }, + { + "message": "Missing item type", + "line": " src/pixi/filters/FilterBlock.js:1" + }, + { + "message": "Missing item type", + "line": " src/pixi/filters/MaskFilter.js:1" + }, { "message": "Missing item type", "line": " src/pixi/loaders/AssetLoader.js:1" @@ -3618,15 +3946,15 @@ }, { "message": "Missing item type", - "line": " src/pixi/renderers/canvas/CanvasRenderer.js:218" + "line": " src/pixi/renderers/canvas/CanvasRenderer.js:235" }, { "message": "Missing item type", - "line": " src/pixi/renderers/canvas/CanvasRenderer.js:253" + "line": " src/pixi/renderers/canvas/CanvasRenderer.js:268" }, { "message": "Missing item type", - "line": " src/pixi/renderers/canvas/CanvasRenderer.js:284" + "line": " src/pixi/renderers/canvas/CanvasRenderer.js:299" }, { "message": "Missing item type", @@ -3662,23 +3990,23 @@ }, { "message": "Missing item type", - "line": " src/pixi/renderers/webgl/WebGLRenderGroup.js:624" + "line": " src/pixi/renderers/webgl/WebGLRenderGroup.js:725" }, { "message": "Missing item type", - "line": " src/pixi/renderers/webgl/WebGLRenderGroup.js:710" + "line": " src/pixi/renderers/webgl/WebGLRenderGroup.js:732" }, { "message": "Missing item type", - "line": " src/pixi/renderers/webgl/WebGLRenderGroup.js:765" + "line": " src/pixi/renderers/webgl/WebGLRenderGroup.js:787" }, { "message": "Missing item type", - "line": " src/pixi/renderers/webgl/WebGLRenderGroup.js:853" + "line": " src/pixi/renderers/webgl/WebGLRenderGroup.js:875" }, { "message": "Missing item type", - "line": " src/pixi/renderers/webgl/WebGLRenderGroup.js:890" + "line": " src/pixi/renderers/webgl/WebGLRenderGroup.js:912" }, { "message": "Missing item type", @@ -3686,27 +4014,27 @@ }, { "message": "Missing item type", - "line": " src/pixi/renderers/webgl/WebGLRenderer.js:85" + "line": " src/pixi/renderers/webgl/WebGLRenderer.js:90" }, { "message": "Missing item type", - "line": " src/pixi/renderers/webgl/WebGLRenderer.js:100" + "line": " src/pixi/renderers/webgl/WebGLRenderer.js:105" }, { "message": "Missing item type", - "line": " src/pixi/renderers/webgl/WebGLRenderer.js:110" + "line": " src/pixi/renderers/webgl/WebGLRenderer.js:115" }, { "message": "Missing item type", - "line": " src/pixi/renderers/webgl/WebGLRenderer.js:199" + "line": " src/pixi/renderers/webgl/WebGLRenderer.js:204" }, { "message": "Missing item type", - "line": " src/pixi/renderers/webgl/WebGLRenderer.js:285" + "line": " src/pixi/renderers/webgl/WebGLRenderer.js:290" }, { "message": "Missing item type", - "line": " src/pixi/renderers/webgl/WebGLRenderer.js:294" + "line": " src/pixi/renderers/webgl/WebGLRenderer.js:299" }, { "message": "Missing item type", diff --git a/docs/files/src_pixi_InteractionManager.js.html b/docs/files/src_pixi_InteractionManager.js.html index 90a6ed5..e30e1a9 100644 --- a/docs/files/src_pixi_InteractionManager.js.html +++ b/docs/files/src_pixi_InteractionManager.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • @@ -201,7 +205,6 @@ PIXI.InteractionManager.prototype.collectInteractiveSprite = function(displayObj var children = displayObject.children; var length = children.length; - //this.interactiveItems = []; /// make an interaction tree... {item.__interactiveParent} for (var i = length-1; i >= 0; i--) { @@ -459,42 +462,12 @@ PIXI.InteractionManager.prototype.hitTest = function(item, interactionData) y = a00 * id * global.y + -a10 * id * global.x + (-a12 * a00 + a02 * a10) * id; //a sprite or display object with a hit area defined - if(item.hitArea) - { - var hitArea = item.hitArea; + if(item.hitArea && item.hitArea.contains) { + if(item.hitArea.contains(x, y)) { + if(isSprite) + interactionData.target = item; - //Polygon hit area - if(item.hitArea instanceof PIXI.Polygon) { - var inside = false; - - // use some raycasting to test hits - // https://github.com/substack/point-in-polygon/blob/master/index.js - for(var i = 0, j = item.hitArea.points.length - 1; i < item.hitArea.points.length; j = i++) { - var xi = item.hitArea.points[i].x, yi = item.hitArea.points[i].y, - xj = item.hitArea.points[j].x, yj = item.hitArea.points[j].y, - intersect = ((yi > y) != (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); - - if(intersect) inside = !inside; - } - - if(inside) { - if(isSprite) interactionData.target = item; - return true; - } - } - //Rectangle hit area - else { - var x1 = hitArea.x; - if(x > x1 && x < x1 + hitArea.width) - { - var y1 = hitArea.y; - - if(y > y1 && y < y1 + hitArea.height) - { - if(isSprite) interactionData.target = item; - return true; - } - } + return true; } } // a sprite with no hitarea defined diff --git a/docs/files/src_pixi_Intro.js.html b/docs/files/src_pixi_Intro.js.html index 490ac03..e5f2ae9 100644 --- a/docs/files/src_pixi_Intro.js.html +++ b/docs/files/src_pixi_Intro.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/files/src_pixi_Outro.js.html b/docs/files/src_pixi_Outro.js.html index 766da17..1eacb07 100644 --- a/docs/files/src_pixi_Outro.js.html +++ b/docs/files/src_pixi_Outro.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/files/src_pixi_Pixi.js.html b/docs/files/src_pixi_Pixi.js.html index bd48fdf..3ac2a71 100644 --- a/docs/files/src_pixi_Pixi.js.html +++ b/docs/files/src_pixi_Pixi.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/files/src_pixi_core_Circle.js.html b/docs/files/src_pixi_core_Circle.js.html new file mode 100644 index 0000000..a3eb2f7 --- /dev/null +++ b/docs/files/src_pixi_core_Circle.js.html @@ -0,0 +1,235 @@ + + + + + src/pixi/core/Circle.js - Pixi.JS + + + + + + + + +
    +
    +
    + +

    + +
    +
    + API Docs for: 1.3.0 +
    +
    +
    + + +
    +
    + Show: + + + + + + + +
    + + +
    +
    +
    +

    File: src/pixi/core/Circle.js

    + +
    +
    +/**
    + * @author Chad Engler <chad@pantherdev.com>
    + */
    +
    +/**
    + * @class Circle
    + * @constructor
    + * @param x {Number} The X coord of the upper-left corner of the framing rectangle of this circle
    + * @param y {Number} The Y coord of the upper-left corner of the framing rectangle of this circle
    + * @param radius {Number} The radius of the circle
    + */
    +PIXI.Circle = function(x, y, radius)
    +{
    +    /**
    +     * @property x
    +     * @type Number
    +     * @default 0
    +     */
    +    this.x = x || 0;
    +    
    +    /**
    +     * @property y
    +     * @type Number
    +     * @default 0
    +     */
    +    this.y = y || 0;
    +
    +    /**
    +     * @property radius
    +     * @type Number
    +     * @default 0
    +     */
    +    this.radius = radius || 0;
    +}
    +
    +/**
    + * @method clone
    + * @return a copy of the polygon
    + */
    +PIXI.Circle.prototype.clone = function()
    +{
    +    return new PIXI.Circle(this.x, this.y, this.radius);
    +}
    +
    +/**
    + * @method contains
    + * @param x {Number} The X coord of the point to test
    + * @param y {Number} The Y coord of the point to test
    + * @return if the x/y coords are within this polygon
    + */
    +PIXI.Circle.prototype.contains = function(x, y)
    +{
    +    if(this.radius <= 0)
    +        return false;
    +
    +    var dx = (this.x - x),
    +        dy = (this.y - y),
    +        r2 = this.radius * this.radius;
    +
    +    dx *= dx;
    +    dy *= dy;
    +
    +    return (dx + dy <= r2);
    +}
    +
    +PIXI.Circle.constructor = PIXI.Circle;
    +
    +
    +    
    +
    + +
    +
    +
    +
    +
    +
    + + + + + + + + + + diff --git a/docs/files/src_pixi_core_Ellipse.js.html b/docs/files/src_pixi_core_Ellipse.js.html new file mode 100644 index 0000000..756dc05 --- /dev/null +++ b/docs/files/src_pixi_core_Ellipse.js.html @@ -0,0 +1,249 @@ + + + + + src/pixi/core/Ellipse.js - Pixi.JS + + + + + + + + +
    +
    +
    + +

    + +
    +
    + API Docs for: 1.3.0 +
    +
    +
    + + +
    +
    + Show: + + + + + + + +
    + + +
    +
    +
    +

    File: src/pixi/core/Ellipse.js

    + +
    +
    +/**
    + * @author Chad Engler <chad@pantherdev.com>
    + */
    +
    +/**
    + * @class Ellipse
    + * @constructor
    + * @param x {Number} The X coord of the upper-left corner of the framing rectangle of this circle
    + * @param y {Number} The Y coord of the upper-left corner of the framing rectangle of this circle
    + * @param width {Number} The overall height of this ellipse
    + * @param height {Number} The overall width of this ellipse
    + */
    +PIXI.Ellipse = function(x, y, width, height)
    +{
    +    /**
    +     * @property x
    +     * @type Number
    +     * @default 0
    +     */
    +    this.x = x || 0;
    +    
    +    /**
    +     * @property y
    +     * @type Number
    +     * @default 0
    +     */
    +    this.y = y || 0;
    +    
    +    /**
    +     * @property width
    +     * @type Number
    +     * @default 0
    +     */
    +    this.width = width || 0;
    +    
    +    /**
    +     * @property height
    +     * @type Number
    +     * @default 0
    +     */
    +    this.height = height || 0;
    +}
    +
    +/**
    + * @method clone
    + * @return a copy of the polygon
    + */
    +PIXI.Ellipse.prototype.clone = function()
    +{
    +    return new PIXI.Ellipse(this.x, this.y, this.width, this.height);
    +}
    +
    +/**
    + * @method contains
    + * @param x {Number} The X coord of the point to test
    + * @param y {Number} The Y coord of the point to test
    + * @return if the x/y coords are within this polygon
    + */
    +PIXI.Ellipse.prototype.contains = function(x, y)
    +{
    +    if(this.width <= 0 || this.height <= 0)
    +        return false;
    +
    +    //normalize the coords to an ellipse with center 0,0
    +    //and a radius of 0.5
    +    var normx = ((x - this.x) / this.width) - 0.5,
    +        normy = ((y - this.y) / this.height) - 0.5;
    +
    +    normx *= normx;
    +    normy *= normy;
    +
    +    return (normx + normy < 0.25);
    +}
    +
    +PIXI.Ellipse.getBounds = function()
    +{
    +    return new PIXI.Rectangle(this.x, this.y, this.width, this.height);
    +}
    +
    +PIXI.Ellipse.constructor = PIXI.Ellipse;
    +
    +
    +    
    +
    + +
    +
    +
    +
    +
    +
    + + + + + + + + + + diff --git a/docs/files/src_pixi_core_Point.js.html b/docs/files/src_pixi_core_Point.js.html index 5c45897..0d67d6c 100644 --- a/docs/files/src_pixi_core_Point.js.html +++ b/docs/files/src_pixi_core_Point.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/files/src_pixi_core_Polygon.js.html b/docs/files/src_pixi_core_Polygon.js.html index 24ff85d..4ea7868 100644 --- a/docs/files/src_pixi_core_Polygon.js.html +++ b/docs/files/src_pixi_core_Polygon.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • @@ -149,10 +153,23 @@ /** * @class Polygon * @constructor - * @param points {Array} + * @param points {Array<Point>|Array<Number>} This cna be an array of Points or a flat array of numbers + * that will be interpreted as [x,y, x,y, ...] */ PIXI.Polygon = function(points) { + //if this is a flat array of numbers, convert it to points + if(typeof points[0] === 'number') { + var p = []; + for(var i = 0, il = points.length; i < il; i+=2) { + p.push( + new PIXI.Point(points[i], points[i + 1]) + ); + } + + points = p; + } + this.points = points; } @@ -160,7 +177,7 @@ PIXI.Polygon = function(points) * @method clone * @return a copy of the polygon */ -PIXI.Polygon.clone = function() +PIXI.Polygon.prototype.clone = function() { var points = []; for (var i=0; i<this.points.length; i++) { @@ -170,6 +187,29 @@ PIXI.Polygon.clone = function() return new PIXI.Polygon(points); } +/** + * @method contains + * @param x {Number} The X coord of the point to test + * @param y {Number} The Y coord of the point to test + * @return if the x/y coords are within this polygon + */ +PIXI.Polygon.prototype.contains = function(x, y) +{ + var inside = false; + + // use some raycasting to test hits + // https://github.com/substack/point-in-polygon/blob/master/index.js + for(var i = 0, j = this.points.length - 1; i < this.points.length; j = i++) { + var xi = this.points[i].x, yi = this.points[i].y, + xj = this.points[j].x, yj = this.points[j].y, + intersect = ((yi > y) != (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); + + if(intersect) inside = !inside; + } + + return inside; +} + PIXI.Polygon.constructor = PIXI.Polygon; diff --git a/docs/files/src_pixi_core_Rectangle.js.html b/docs/files/src_pixi_core_Rectangle.js.html index 731ea8b..de18763 100644 --- a/docs/files/src_pixi_core_Rectangle.js.html +++ b/docs/files/src_pixi_core_Rectangle.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • @@ -195,6 +199,31 @@ PIXI.Rectangle.prototype.clone = function() return new PIXI.Rectangle(this.x, this.y, this.width, this.height); } +/** + * @method contains + * @param x {Number} The X coord of the point to test + * @param y {Number} The Y coord of the point to test + * @return if the x/y coords are within this polygon + */ +PIXI.Rectangle.prototype.contains = function(x, y) +{ + if(this.width <= 0 || this.height <= 0) + return false; + + var x1 = this.x; + if(x > x1 && x < x1 + this.width) + { + var y1 = this.y; + + if(y > y1 && y < y1 + this.height) + { + return true; + } + } + + return false; +} + // constructor PIXI.Rectangle.constructor = PIXI.Rectangle; diff --git a/docs/files/src_pixi_display_DisplayObject.js.html b/docs/files/src_pixi_display_DisplayObject.js.html index 11d33f3..46436ba 100644 --- a/docs/files/src_pixi_display_DisplayObject.js.html +++ b/docs/files/src_pixi_display_DisplayObject.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • @@ -153,6 +157,9 @@ */ PIXI.DisplayObject = function() { + this.last = this; + this.first = this; + /** * The coordinate of the object relative to the local coordinates of the parent. * @property position @@ -234,7 +241,7 @@ PIXI.DisplayObject = function() this.renderable = false; // [readonly] best not to toggle directly! use setInteractive() - this.interactive = false; + this._interactive = false; /** * This is used to indicate if the displayObject should display a mouse hand cursor on rollover @@ -332,18 +339,214 @@ Object.defineProperty(PIXI.DisplayObject.prototype, 'visible', { });*/ /** - * Indicates if the sprite will have touch and mouse interactivity. It is false by default + * [Deprecated] Indicates if the sprite will have touch and mouse interactivity. It is false by default + * Instead of using this function you can now simply set the interactive property to true or false * @method setInteractive * @param interactive {Boolean} */ PIXI.DisplayObject.prototype.setInteractive = function(interactive) { this.interactive = interactive; - // TODO more to be done here.. - // need to sort out a re-crawl! - if(this.stage)this.stage.dirty = true; } +/** + * Indicates if the sprite will have touch and mouse interactivity. It is false by default + * @property interactive + * @type Boolean + */ +Object.defineProperty(PIXI.DisplayObject.prototype, 'interactive', { + get: function() { + return this._interactive; + }, + set: function(value) { + this._interactive = value; + + // TODO more to be done here.. + // need to sort out a re-crawl! + if(this.stage)this.stage.dirty = true; + } +}); + +/** + * Sets a mask for the displayObject. A mask is an object that limits the visibility of an object to the shape of the mask applied to it. + * In PIXI a regular mask must be a PIXI.Ggraphics object. This allows for much faster masking in canvas as it utilises shape clipping. + * To remove a mask, set this property to null. + * @property mask + * @type PIXI.Graphics + */ +Object.defineProperty(PIXI.DisplayObject.prototype, 'mask', { + get: function() { + return this._mask; + }, + set: function(value) { + + this._mask = value; + + if(value) + { + this.addFilter(value) + } + else + { + this.removeFilter(); + } + } +}); + +/* + * private + */ +PIXI.DisplayObject.prototype.addFilter = function(mask) +{ + if(this.filter)return; + this.filter = true; + + + // insert a filter block.. + var start = new PIXI.FilterBlock(); + var end = new PIXI.FilterBlock(); + + + start.mask = mask; + end.mask = mask; + + start.id = end.id = county + + county++; + + start.first = start.last = this; + end.first = end.last = this; + + start.open = true; + + /* + * + * insert start + * + */ + + var childFirst = start + var childLast = start + var nextObject; + var previousObject; + + previousObject = this.first._iPrev; + + if(previousObject) + { + nextObject = previousObject._iNext; + childFirst._iPrev = previousObject; + previousObject._iNext = childFirst; + } + else + { + nextObject = this; + } + + if(nextObject) + { + nextObject._iPrev = childLast; + childLast._iNext = nextObject; + } + + + // now insert the end filter block.. + + /* + * + * insert end filter + * + */ + var childFirst = end + var childLast = end + var nextObject = null; + var previousObject = null; + + previousObject = this.last; + nextObject = previousObject._iNext; + + if(nextObject) + { + nextObject._iPrev = childLast; + childLast._iNext = nextObject; + } + + childFirst._iPrev = previousObject; + previousObject._iNext = childFirst; + + var updateLast = this; + + var prevLast = this.last; + while(updateLast) + { + if(updateLast.last == prevLast) + { + updateLast.last = end; + } + updateLast = updateLast.parent; + } + + this.first = start; + + // if webGL... + if(this.__renderGroup) + { + this.__renderGroup.addFilterBlocks(start, end); + } + + mask.renderable = false; + +} + +PIXI.DisplayObject.prototype.removeFilter = function() +{ + if(!this.filter)return; + this.filter = false; + + // modify the list.. + var startBlock = this.first; + + var nextObject = startBlock._iNext; + var previousObject = startBlock._iPrev; + + if(nextObject)nextObject._iPrev = previousObject; + if(previousObject)previousObject._iNext = nextObject; + + this.first = startBlock._iNext; + + + // remove the end filter + var lastBlock = this.last; + + var nextObject = lastBlock._iNext; + var previousObject = lastBlock._iPrev; + + if(nextObject)nextObject._iPrev = previousObject; + previousObject._iNext = nextObject; + + // this is always true too! +// if(this.last == lastBlock) + //{ + var tempLast = lastBlock._iPrev; + // need to make sure the parents last is updated too + var updateLast = this; + while(updateLast.last == lastBlock) + { + updateLast.last = tempLast; + updateLast = updateLast.parent; + if(!updateLast)break; + } + + var mask = startBlock.mask + mask.renderable = true; + + // if webGL... + if(this.__renderGroup) + { + this.__renderGroup.removeFilterBlocks(startBlock, lastBlock); + } + //} +} /** * @private @@ -367,24 +570,21 @@ PIXI.DisplayObject.prototype.updateTransform = function() localTransform[3] = this._sr * this.scale.x; localTransform[4] = this._cr * this.scale.y; - ///AAARR GETTER SETTTER! - //localTransform[2] = this.position.x; - //localTransform[5] = this.position.y; + // TODO --> do we even need a local matrix??? var px = this.pivot.x; var py = this.pivot.y; - ///AAARR GETTER SETTTER! - localTransform[2] = this.position.x - localTransform[0] * px - py * localTransform[1]; - localTransform[5] = this.position.y - localTransform[4] * py - px * localTransform[3]; - // Cache the matrix values (makes for huge speed increases!) - var a00 = localTransform[0], a01 = localTransform[1], a02 = localTransform[2], - a10 = localTransform[3], a11 = localTransform[4], a12 = localTransform[5], + var a00 = localTransform[0], a01 = localTransform[1], a02 = this.position.x - localTransform[0] * px - py * localTransform[1], + a10 = localTransform[3], a11 = localTransform[4], a12 = this.position.y - localTransform[4] * py - px * localTransform[3], b00 = parentTransform[0], b01 = parentTransform[1], b02 = parentTransform[2], b10 = parentTransform[3], b11 = parentTransform[4], b12 = parentTransform[5]; + localTransform[2] = a02 + localTransform[5] = a12 + worldTransform[0] = b00 * a00 + b01 * a10; worldTransform[1] = b00 * a01 + b01 * a11; worldTransform[2] = b00 * a02 + b01 * a12 + b02; @@ -397,7 +597,6 @@ PIXI.DisplayObject.prototype.updateTransform = function() // mat3.multiply(this.localTransform, this.parent.worldTransform, this.worldTransform); this.worldAlpha = this.alpha * this.parent.worldAlpha; - } diff --git a/docs/files/src_pixi_display_DisplayObjectContainer.js.html b/docs/files/src_pixi_display_DisplayObjectContainer.js.html index 02ecf27..0875822 100644 --- a/docs/files/src_pixi_display_DisplayObjectContainer.js.html +++ b/docs/files/src_pixi_display_DisplayObjectContainer.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • @@ -164,6 +168,7 @@ PIXI.DisplayObjectContainer = function() this.children = []; //s this.renderable = false; + } // constructor @@ -189,21 +194,85 @@ Object.defineProperty(PIXI.DisplayObjectContainer.prototype, 'visible' */ PIXI.DisplayObjectContainer.prototype.addChild = function(child) { + + //this.addChildAt(child, this.children.length) + //return; + if(child.parent != undefined) { + + //// COULD BE THIS??? child.parent.removeChild(child); + // return; } child.parent = this; - child.childIndex = this.children.length; + //child.childIndex = this.children.length; this.children.push(child); + // updae the stage refference.. + if(this.stage) { - this.stage.__addChild(child); + var tmpChild = child; + do + { + if(tmpChild.interactive)this.stage.dirty = true; + tmpChild.stage = this.stage; + tmpChild = tmpChild._iNext; + } + while(tmpChild) } + // LINKED LIST // + + // modify the list.. + var childFirst = child.first + var childLast = child.last; +// console.log(childFirst) + var nextObject; + var previousObject; + + // this could be wrong if there is a filter?? + if(this.filter) + { + previousObject = this.last._iPrev; + } + else + { + previousObject = this.last; + } +// if(this.last._iNext) + + //console.log( this.last._iNext); + nextObject = previousObject._iNext; + + // always true in this case + //this.last = child.last; + // need to make sure the parents last is updated too + var updateLast = this; + var prevLast = previousObject; + + while(updateLast) + { + if(updateLast.last == prevLast) + { + updateLast.last = child.last; + } + updateLast = updateLast.parent; + } + + if(nextObject) + { + nextObject._iPrev = childLast; + childLast._iNext = nextObject; + } + + childFirst._iPrev = previousObject; + previousObject._iNext = childFirst; + +// console.log(childFirst); // need to remove any render groups.. if(this.__renderGroup) { @@ -212,6 +281,7 @@ PIXI.DisplayObjectContainer.prototype.addChild = function(child) // add them to the new render group.. this.__renderGroup.addDisplayObjectAndChildren(child); } + } /** @@ -228,30 +298,63 @@ PIXI.DisplayObjectContainer.prototype.addChildAt = function(child, index) { child.parent.removeChild(child); } - - if (index == this.children.length) - { - this.children.push(child); - } - else - { - this.children.splice(index, 0, child); - } - child.parent = this; - child.childIndex = index; - - var length = this.children.length; - for (var i=index; i < length; i++) - { - this.children[i].childIndex = i; - } if(this.stage) { - this.stage.__addChild(child); + var tmpChild = child; + do + { + if(tmpChild.interactive)this.stage.dirty = true; + tmpChild.stage = this.stage; + tmpChild = tmpChild._iNext; + } + while(tmpChild) } + // modify the list.. + var childFirst = child.first + var childLast = child.last; + var nextObject; + var previousObject; + + if(index == this.children.length) + { + previousObject = this.last; + var updateLast = this;//.parent; + var prevLast = this.last; + while(updateLast) + { + if(updateLast.last == prevLast) + { + updateLast.last = child.last; + } + updateLast = updateLast.parent; + } + } + else if(index == 0) + { + previousObject = this; + } + else + { + previousObject = this.children[index-1].last; + } + + nextObject = previousObject._iNext; + + // always true in this case + if(nextObject) + { + nextObject._iPrev = childLast; + childLast._iNext = nextObject; + } + + childFirst._iPrev = previousObject; + previousObject._iNext = childFirst; + + + this.children.splice(index, 0, child); // need to remove any render groups.. if(this.__renderGroup) { @@ -260,11 +363,11 @@ PIXI.DisplayObjectContainer.prototype.addChildAt = function(child, index) // add them to the new render group.. this.__renderGroup.addDisplayObjectAndChildren(child); } + + console.log(this.children) } else { - // error! - throw new Error(child + " The index "+ index +" supplied is out of bounds " + this.children.length); } } @@ -277,6 +380,14 @@ PIXI.DisplayObjectContainer.prototype.addChildAt = function(child, index) */ PIXI.DisplayObjectContainer.prototype.swapChildren = function(child, child2) { + /* + * this funtion needs to be recoded.. + * can be done a lot faster.. + */ + return; + + // need to fix this function :/ + /* // TODO I already know this?? var index = this.children.indexOf( child ); var index2 = this.children.indexOf( child2 ); @@ -284,6 +395,8 @@ PIXI.DisplayObjectContainer.prototype.swapChildren = function(child, child2) if ( index !== -1 && index2 !== -1 ) { // cool + + /* if(this.stage) { // this is to satisfy the webGL batching.. @@ -295,9 +408,6 @@ PIXI.DisplayObjectContainer.prototype.swapChildren = function(child, child2) this.stage.__addChild(child2); } - // swap the indexes.. - child.childIndex = index2; - child2.childIndex = index; // swap the positions.. this.children[index] = child2; this.children[index2] = child; @@ -306,7 +416,7 @@ PIXI.DisplayObjectContainer.prototype.swapChildren = function(child, child2) else { throw new Error(child + " Both the supplied DisplayObjects must be a child of the caller " + this); - } + }*/ } /** @@ -323,7 +433,6 @@ PIXI.DisplayObjectContainer.prototype.getChildAt = function(index) else { throw new Error(child + " Both the supplied DisplayObjects must be a child of the caller " + this); - } } @@ -335,30 +444,57 @@ PIXI.DisplayObjectContainer.prototype.getChildAt = function(index) PIXI.DisplayObjectContainer.prototype.removeChild = function(child) { var index = this.children.indexOf( child ); - if ( index !== -1 ) { - if(this.stage) + //console.log(">>") + // unlink // + // modify the list.. + var childFirst = child.first + var childLast = child.last; + + var nextObject = childLast._iNext; + var previousObject = childFirst._iPrev; + + if(nextObject)nextObject._iPrev = previousObject; + previousObject._iNext = nextObject; + + if(this.last == childLast) { - this.stage.__removeChild(child); + var tempLast = childFirst._iPrev; + // need to make sure the parents last is updated too + var updateLast = this; + while(updateLast.last == childLast.last) + { + updateLast.last = tempLast; + updateLast = updateLast.parent; + if(!updateLast)break; + } } + childLast._iNext = null; + childFirst._iPrev = null; + + // update the stage reference.. + if(this.stage) + { + var tmpChild = child; + do + { + if(tmpChild.interactive)this.stage.dirty = true; + tmpChild.stage = null; + tmpChild = tmpChild._iNext; + } + while(tmpChild) + } + // webGL trim if(child.__renderGroup) { child.__renderGroup.removeDisplayObjectAndChildren(child); } - // console.log(">" + child.__renderGroup) child.parent = undefined; - this.children.splice( index, 1 ); - - // update in dexs! - for(var i=index,j=this.children.length; i<j; i++) - { - this.children[i].childIndex -= 1; - } } else { diff --git a/docs/files/src_pixi_display_MovieClip.js.html b/docs/files/src_pixi_display_MovieClip.js.html index a48bbb8..87e0a59 100644 --- a/docs/files/src_pixi_display_MovieClip.js.html +++ b/docs/files/src_pixi_display_MovieClip.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/files/src_pixi_display_Sprite.js.html b/docs/files/src_pixi_display_Sprite.js.html index 2266b51..48e9042 100644 --- a/docs/files/src_pixi_display_Sprite.js.html +++ b/docs/files/src_pixi_display_Sprite.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/files/src_pixi_display_Stage.js.html b/docs/files/src_pixi_display_Stage.js.html index 0f8b703..6c0dc32 100644 --- a/docs/files/src_pixi_display_Stage.js.html +++ b/docs/files/src_pixi_display_Stage.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • @@ -158,21 +162,23 @@ PIXI.Stage = function(backgroundColor, interactive) { PIXI.DisplayObjectContainer.call( this ); + this.worldTransform = PIXI.mat3.create() this.__childrenAdded = []; this.__childrenRemoved = []; - this.childIndex = 0; - this.stage= this; + + //this.childIndex = 0; + this.stage = this; + this.interactive = interactive; this.stage.hitArea = new PIXI.Rectangle(0,0,100000, 100000); // interaction! - this.interactive = !!interactive; + // this.interactive = !!interactive; this.interactionManager = new PIXI.InteractionManager(this); this.setBackgroundColor(backgroundColor); this.worldVisible = true; - this.stage.dirty = true; } @@ -226,7 +232,7 @@ PIXI.Stage.prototype.getMousePosition = function() { return this.interactionManager.mouse.global; } - +/* PIXI.Stage.prototype.__addChild = function(child) { if(child.interactive)this.dirty = true; @@ -257,7 +263,7 @@ PIXI.Stage.prototype.__removeChild = function(child) this.__removeChild(child.children[i]); } } -} +}*/ diff --git a/docs/files/src_pixi_extras_CustomRenderable.js.html b/docs/files/src_pixi_extras_CustomRenderable.js.html index 80fde7f..83ef08c 100644 --- a/docs/files/src_pixi_extras_CustomRenderable.js.html +++ b/docs/files/src_pixi_extras_CustomRenderable.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/files/src_pixi_extras_Rope.js.html b/docs/files/src_pixi_extras_Rope.js.html index 93ed7e4..37a22e4 100644 --- a/docs/files/src_pixi_extras_Rope.js.html +++ b/docs/files/src_pixi_extras_Rope.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/files/src_pixi_extras_Spine.js.html b/docs/files/src_pixi_extras_Spine.js.html index 1838245..ba18005 100644 --- a/docs/files/src_pixi_extras_Spine.js.html +++ b/docs/files/src_pixi_extras_Spine.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/files/src_pixi_extras_Strip.js.html b/docs/files/src_pixi_extras_Strip.js.html index 8ae02b0..1d6a08d 100644 --- a/docs/files/src_pixi_extras_Strip.js.html +++ b/docs/files/src_pixi_extras_Strip.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/files/src_pixi_extras_TilingSprite.js.html b/docs/files/src_pixi_extras_TilingSprite.js.html index 9eca0d8..e840d1d 100644 --- a/docs/files/src_pixi_extras_TilingSprite.js.html +++ b/docs/files/src_pixi_extras_TilingSprite.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • @@ -163,7 +167,6 @@ PIXI.TilingSprite = function(texture, width, height) this.width = width; this.height = height; this.renderable = true; - /** * The scaling of the image that is being tiled * @property tileScale diff --git a/docs/files/src_pixi_filters_FilterBlock.js.html b/docs/files/src_pixi_filters_FilterBlock.js.html new file mode 100644 index 0000000..080a44f --- /dev/null +++ b/docs/files/src_pixi_filters_FilterBlock.js.html @@ -0,0 +1,181 @@ + + + + + src/pixi/filters/FilterBlock.js - Pixi.JS + + + + + + + + +
    +
    +
    + +

    + +
    +
    + API Docs for: 1.3.0 +
    +
    +
    + + +
    +
    + Show: + + + + + + + +
    + + +
    +
    +
    +

    File: src/pixi/filters/FilterBlock.js

    + +
    +
    +/**
    + * @author Mat Groves http://matgroves.com/ @Doormat23
    + */
    +
    +
    +
    +PIXI.FilterBlock = function(mask)
    +{
    +	this.graphics = mask
    +	this.visible = true;
    +	this.renderable = true;
    +}
    +
    +
    +    
    +
    + +
    +
    +
    +
    +
    +
    + + + + + + + + + + diff --git a/docs/files/src_pixi_filters_MaskFilter.js.html b/docs/files/src_pixi_filters_MaskFilter.js.html new file mode 100644 index 0000000..0df8008 --- /dev/null +++ b/docs/files/src_pixi_filters_MaskFilter.js.html @@ -0,0 +1,180 @@ + + + + + src/pixi/filters/MaskFilter.js - Pixi.JS + + + + + + + + +
    +
    +
    + +

    + +
    +
    + API Docs for: 1.3.0 +
    +
    +
    + + +
    +
    + Show: + + + + + + + +
    + + +
    +
    +
    +

    File: src/pixi/filters/MaskFilter.js

    + +
    +
    +/**
    + * @author Mat Groves http://matgroves.com/ @Doormat23
    + */
    +
    +
    +
    +PIXI.MaskFilter = function(graphics)
    +{
    +	// the graphics data that will be used for filtering
    +	this.graphics;
    +}
    +
    +
    +    
    +
    + +
    +
    +
    +
    +
    +
    + + + + + + + + + + diff --git a/docs/files/src_pixi_loaders_AssetLoader.js.html b/docs/files/src_pixi_loaders_AssetLoader.js.html index 1932a5c..a752143 100644 --- a/docs/files/src_pixi_loaders_AssetLoader.js.html +++ b/docs/files/src_pixi_loaders_AssetLoader.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/files/src_pixi_loaders_BitmapFontLoader.js.html b/docs/files/src_pixi_loaders_BitmapFontLoader.js.html index 3e847d3..0bc6eef 100644 --- a/docs/files/src_pixi_loaders_BitmapFontLoader.js.html +++ b/docs/files/src_pixi_loaders_BitmapFontLoader.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/files/src_pixi_loaders_ImageLoader.js.html b/docs/files/src_pixi_loaders_ImageLoader.js.html index 34cc4da..5a0c7d4 100644 --- a/docs/files/src_pixi_loaders_ImageLoader.js.html +++ b/docs/files/src_pixi_loaders_ImageLoader.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/files/src_pixi_loaders_JsonLoader.js.html b/docs/files/src_pixi_loaders_JsonLoader.js.html index 872d9ee..8e91182 100644 --- a/docs/files/src_pixi_loaders_JsonLoader.js.html +++ b/docs/files/src_pixi_loaders_JsonLoader.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/files/src_pixi_loaders_SpineLoader.js.html b/docs/files/src_pixi_loaders_SpineLoader.js.html index a169fcd..a5d91bf 100644 --- a/docs/files/src_pixi_loaders_SpineLoader.js.html +++ b/docs/files/src_pixi_loaders_SpineLoader.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/files/src_pixi_loaders_SpriteSheetLoader.js.html b/docs/files/src_pixi_loaders_SpriteSheetLoader.js.html index 6d85d59..7f4f05f 100644 --- a/docs/files/src_pixi_loaders_SpriteSheetLoader.js.html +++ b/docs/files/src_pixi_loaders_SpriteSheetLoader.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/files/src_pixi_primitives_Graphics.js.html b/docs/files/src_pixi_primitives_Graphics.js.html index 5435767..56e8996 100644 --- a/docs/files/src_pixi_primitives_Graphics.js.html +++ b/docs/files/src_pixi_primitives_Graphics.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • @@ -163,8 +167,8 @@ PIXI.Graphics = function() this.fillAlpha = 1; - this.lineWidth = 2; - this.lineColor = "#FF0000"; + this.lineWidth = 0; + this.lineColor = "black"; this.graphicsData = []; diff --git a/docs/files/src_pixi_renderers_canvas_CanvasGraphics.js.html b/docs/files/src_pixi_renderers_canvas_CanvasGraphics.js.html index 8d66dff..d09a4be 100644 --- a/docs/files/src_pixi_renderers_canvas_CanvasGraphics.js.html +++ b/docs/files/src_pixi_renderers_canvas_CanvasGraphics.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • @@ -179,7 +183,6 @@ PIXI.CanvasGraphics.renderGraphics = function(graphics, context) if(data.type == PIXI.Graphics.POLY) { - //if(data.lineWidth <= 0)continue; context.beginPath(); @@ -211,12 +214,13 @@ PIXI.CanvasGraphics.renderGraphics = function(graphics, context) } else if(data.type == PIXI.Graphics.RECT) { + // TODO - need to be Undefined! if(data.fillColor) { context.globalAlpha = data.fillAlpha * worldAlpha; context.fillStyle = color = '#' + ('00000' + ( data.fillColor | 0).toString(16)).substr(-6); - context.fillRect(points[0], points[1], points[2], points[3]); + context.rect(points[0], points[1], points[2], points[3]); } if(data.lineWidth) @@ -224,6 +228,7 @@ PIXI.CanvasGraphics.renderGraphics = function(graphics, context) context.globalAlpha = data.lineAlpha * worldAlpha; context.strokeRect(points[0], points[1], points[2], points[3]); } + } else if(data.type == PIXI.Graphics.CIRC) { @@ -288,6 +293,94 @@ PIXI.CanvasGraphics.renderGraphics = function(graphics, context) } } + }; +} + +/* + * @private + * @static + * @method renderGraphicsMask + * @param graphics {Graphics} + * @param context {Context2D} + */ +PIXI.CanvasGraphics.renderGraphicsMask = function(graphics, context) +{ + var worldAlpha = graphics.worldAlpha; + + var len = graphics.graphicsData.length; + if(len > 1) + { + len = 1; + console.log("Pixi.js warning: masks in canvas can only mask using the first path in the graphics object") + } + + for (var i=0; i < 1; i++) + { + var data = graphics.graphicsData[i]; + var points = data.points; + + if(data.type == PIXI.Graphics.POLY) + { + //if(data.lineWidth <= 0)continue; + + context.beginPath(); + context.moveTo(points[0], points[1]); + + for (var j=1; j < points.length/2; j++) + { + context.lineTo(points[j * 2], points[j * 2 + 1]); + } + + // if the first and last point are the same close the path - much neater :) + if(points[0] == points[points.length-2] && points[1] == points[points.length-1]) + { + context.closePath(); + } + + } + else if(data.type == PIXI.Graphics.RECT) + { + context.beginPath(); + context.rect(points[0], points[1], points[2], points[3]); + context.closePath(); + } + else if(data.type == PIXI.Graphics.CIRC) + { + // TODO - need to be Undefined! + context.beginPath(); + context.arc(points[0], points[1], points[2],0,2*Math.PI); + context.closePath(); + } + else if(data.type == PIXI.Graphics.ELIP) + { + + // elipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas + var elipseData = data.points; + + var w = elipseData[2] * 2; + var h = elipseData[3] * 2; + + var x = elipseData[0] - w/2; + var y = elipseData[1] - h/2; + + context.beginPath(); + + var kappa = .5522848, + ox = (w / 2) * kappa, // control point offset horizontal + oy = (h / 2) * kappa, // control point offset vertical + xe = x + w, // x-end + ye = y + h, // y-end + xm = x + w / 2, // x-middle + ym = y + h / 2; // y-middle + + context.moveTo(x, ym); + context.bezierCurveTo(x, ym - oy, xm - ox, y, xm, y); + context.bezierCurveTo(xm + ox, y, xe, ym - oy, xe, ym); + context.bezierCurveTo(xe, ym + oy, xm + ox, ye, xm, ye); + context.bezierCurveTo(xm - ox, ye, x, ym + oy, x, ym); + context.closePath(); + } + }; } diff --git a/docs/files/src_pixi_renderers_canvas_CanvasRenderer.js.html b/docs/files/src_pixi_renderers_canvas_CanvasRenderer.js.html index ffb101b..b4a1e3c 100644 --- a/docs/files/src_pixi_renderers_canvas_CanvasRenderer.js.html +++ b/docs/files/src_pixi_renderers_canvas_CanvasRenderer.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • @@ -271,47 +275,43 @@ PIXI.CanvasRenderer.prototype.resize = function(width, height) PIXI.CanvasRenderer.prototype.renderDisplayObject = function(displayObject) { - var transform = displayObject.worldTransform; + // no loger recurrsive! + var transform; var context = this.context; - //context.globalCompositeOperation = "source-over" - var blit = false; - if(!displayObject.visible)return; - - if(displayObject instanceof PIXI.Sprite) + context.globalCompositeOperation = 'source-over'; + + // one the display object hits this. we can break the loop + var testObject = displayObject.last._iNext; + displayObject = displayObject.first; + + do { - var frame = displayObject.texture.frame; + transform = displayObject.worldTransform; - if(frame) + if(!displayObject.visible) { - context.globalAlpha = displayObject.worldAlpha; + displayObject = displayObject.last._iNext; + continue; + } + + if(!displayObject.renderable) + { + displayObject = displayObject._iNext; + continue; + } + + if(displayObject instanceof PIXI.Sprite) + { + + var frame = displayObject.texture.frame; - // BLITZ!!! - /* - * if the rotation is 0 then we can blitz it - * meaning we dont need to do a transform and also we - * can round to the nearest round number for a little extra speed! - */ - /*if(displayObject.rotation == 0) + if(frame) { - if(!blit)this.context.setTransform(1,0,0,1,0,0); - blit = true; - context.drawImage(displayObject.texture.baseTexture.image, - frame.x, - frame.y, - frame.width, - frame.height, - (transform[2]+ ((displayObject.anchor.x - displayObject.texture.trim.x) * -frame.width) * transform[0]), - (transform[5]+ ((displayObject.anchor.y - displayObject.texture.trim.y) * -frame.height)* transform[4]), - (displayObject.width * transform[0]), - (displayObject.height * transform[4])); + context.globalAlpha = displayObject.worldAlpha; - } - else - {*/ - // blit = false; context.setTransform(transform[0], transform[3], transform[1], transform[4], transform[2], transform[5]); - + context.drawImage(displayObject.texture.baseTexture.source, frame.x, frame.y, @@ -319,46 +319,67 @@ PIXI.CanvasRenderer.prototype.renderDisplayObject = function(displayObject) frame.height, (displayObject.anchor.x) * -frame.width, (displayObject.anchor.y) * -frame.height, - // (displayObject.anchor.x - displayObject.texture.trim.x) * -frame.width, - // (displayObject.anchor.y - displayObject.texture.trim.y) * -frame.height, - frame.width, frame.height); - //} - } - } - else if(displayObject instanceof PIXI.Strip) - { - context.setTransform(transform[0], transform[3], transform[1], transform[4], transform[2], transform[5]) - this.renderStrip(displayObject); - } - else if(displayObject instanceof PIXI.TilingSprite) - { - context.setTransform(transform[0], transform[3], transform[1], transform[4], transform[2], transform[5]) - this.renderTilingSprite(displayObject); - } - else if(displayObject instanceof PIXI.CustomRenderable) - { - displayObject.renderCanvas(this); - } - else if(displayObject instanceof PIXI.Graphics) - { - context.setTransform(transform[0], transform[3], transform[1], transform[4], transform[2], transform[5]) - PIXI.CanvasGraphics.renderGraphics(displayObject, context); - } - - // render! - if(displayObject.children) - { - for (var i=0; i < displayObject.children.length; i++) + } + } + else if(displayObject instanceof PIXI.Strip) { - this.renderDisplayObject(displayObject.children[i]); + context.setTransform(transform[0], transform[3], transform[1], transform[4], transform[2], transform[5]) + this.renderStrip(displayObject); } + else if(displayObject instanceof PIXI.TilingSprite) + { + context.setTransform(transform[0], transform[3], transform[1], transform[4], transform[2], transform[5]) + this.renderTilingSprite(displayObject); + } + else if(displayObject instanceof PIXI.CustomRenderable) + { + displayObject.renderCanvas(this); + } + else if(displayObject instanceof PIXI.Graphics) + { + context.setTransform(transform[0], transform[3], transform[1], transform[4], transform[2], transform[5]) + PIXI.CanvasGraphics.renderGraphics(displayObject, context); + } + else if(displayObject instanceof PIXI.FilterBlock) + { + if(displayObject.open) + { + context.save(); + + var cacheAlpha = displayObject.mask.alpha; + var maskTransform = displayObject.mask.worldTransform; + + context.setTransform(maskTransform[0], maskTransform[3], maskTransform[1], maskTransform[4], maskTransform[2], maskTransform[5]) + + displayObject.mask.worldAlpha = 0.5; + + context.worldAlpha = 0; + + PIXI.CanvasGraphics.renderGraphicsMask(displayObject.mask, context); + // context.fillStyle = 0xFF0000; + // context.fillRect(0, 0, 200, 200); + context.clip(); + + displayObject.mask.worldAlpha = cacheAlpha; + //context.globalCompositeOperation = 'lighter'; + } + else + { + //context.globalCompositeOperation = 'source-over'; + context.restore(); + } + } + // count++ + displayObject = displayObject._iNext; + + } - - this.context.setTransform(1,0,0,1,0,0); + while(displayObject != testObject) } + /** * @private */ @@ -387,11 +408,9 @@ PIXI.CanvasRenderer.prototype.renderStripFlat = function(strip) }; -// context.globalCompositeOperation = 'lighter'; context.fillStyle = "#FF0000"; context.fill(); context.closePath(); - //context.globalCompositeOperation = 'source-over'; } /** diff --git a/docs/files/src_pixi_renderers_webgl_WebGLBatch.js.html b/docs/files/src_pixi_renderers_webgl_WebGLBatch.js.html index a696b10..3d14d09 100644 --- a/docs/files/src_pixi_renderers_webgl_WebGLBatch.js.html +++ b/docs/files/src_pixi_renderers_webgl_WebGLBatch.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • @@ -680,7 +684,6 @@ PIXI.WebGLBatch.prototype.render = function(start, end) var gl = this.gl; //TODO optimize this! - gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA); var shaderProgram = PIXI.shaderProgram; gl.useProgram(shaderProgram); @@ -723,7 +726,7 @@ PIXI.WebGLBatch.prototype.render = function(start, end) var len = end - start; // console.log(this.size) // DRAW THAT this! -// gl.drawElements(gl.TRIANGLES, len * 6, gl.UNSIGNED_SHORT, start * 2 * 6 ); + gl.drawElements(gl.TRIANGLES, len * 6, gl.UNSIGNED_SHORT, start * 2 * 6 ); } diff --git a/docs/files/src_pixi_renderers_webgl_WebGLGraphics.js.html b/docs/files/src_pixi_renderers_webgl_WebGLGraphics.js.html index e7e7777..0240783 100644 --- a/docs/files/src_pixi_renderers_webgl_WebGLGraphics.js.html +++ b/docs/files/src_pixi_renderers_webgl_WebGLGraphics.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • @@ -210,13 +214,9 @@ PIXI.WebGLGraphics.renderGraphics = function(graphics, projection) gl.vertexAttribPointer(PIXI.primitiveProgram.vertexPositionAttribute, 2, gl.FLOAT, false, 4 * 6, 0); gl.vertexAttribPointer(PIXI.primitiveProgram.colorAttribute, 4, gl.FLOAT, false,4 * 6, 2 * 4); -// console.log(PIXI.primitiveProgram.vertexPositionAttribute); - //console.log("Color " + PIXI.primitiveProgram.colorAttribute); - // set the index buffer! gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, graphics._webGL.indexBuffer); - gl.drawElements(gl.TRIANGLE_STRIP, graphics._webGL.indices.length, gl.UNSIGNED_SHORT, 0 ); // return to default shader... diff --git a/docs/files/src_pixi_renderers_webgl_WebGLRenderGroup.js.html b/docs/files/src_pixi_renderers_webgl_WebGLRenderGroup.js.html index ca9c1d5..d73c577 100644 --- a/docs/files/src_pixi_renderers_webgl_WebGLRenderGroup.js.html +++ b/docs/files/src_pixi_renderers_webgl_WebGLRenderGroup.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • @@ -166,7 +170,6 @@ PIXI.WebGLRenderGroup = function(gl) this.toRemove = []; } - // constructor PIXI.WebGLRenderGroup.constructor = PIXI.WebGLRenderGroup; @@ -182,9 +185,7 @@ PIXI.WebGLRenderGroup.prototype.setRenderable = function(displayObject) // TODO what if its already has an object? should remove it this.root = displayObject; - //displayObject.__renderGroup = this; this.addDisplayObjectAndChildren(displayObject); - //displayObject } PIXI.WebGLRenderGroup.prototype.render = function(projection) @@ -193,11 +194,9 @@ PIXI.WebGLRenderGroup.prototype.render = function(projection) var gl = this.gl; - // set the flipped matrix.. -// gl.uniformMatrix4fv(PIXI.shaderProgram.mvMatrixUniform, false, PIXI.projectionMatrix); - gl.uniform2f(PIXI.shaderProgram.projectionVector, projection.x, projection.y); - + gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA); + // TODO remove this by replacing visible with getter setters.. this.checkVisibility(this.root, this.root.visible); @@ -222,12 +221,41 @@ PIXI.WebGLRenderGroup.prototype.render = function(projection) } else if(renderable instanceof PIXI.Graphics) { - if(renderable.visible) PIXI.WebGLGraphics.renderGraphics(renderable, projection);//, projectionMatrix); + if(renderable.visible && renderable.renderable) PIXI.WebGLGraphics.renderGraphics(renderable, projection);//, projectionMatrix); + } + else if(renderable instanceof PIXI.FilterBlock) + { + /* + * for now only masks are supported.. + */ + if(renderable.open) + { + gl.enable(gl.STENCIL_TEST); + + gl.colorMask(false, false, false, false); + gl.stencilFunc(gl.ALWAYS,1,0xff); + gl.stencilOp(gl.KEEP,gl.KEEP,gl.REPLACE); + + PIXI.WebGLGraphics.renderGraphics(renderable.mask, projection); + + gl.colorMask(true, true, true, false); + gl.stencilFunc(gl.NOTEQUAL,0,0xff); + gl.stencilOp(gl.KEEP,gl.KEEP,gl.KEEP); + } + else + { + gl.disable(gl.STENCIL_TEST); + } } } } +PIXI.WebGLRenderGroup.prototype.handleFilter = function(filter, projection) +{ + +} + PIXI.WebGLRenderGroup.prototype.renderSpecific = function(displayObject, projection) { PIXI.WebGLRenderer.updateTextures(); @@ -238,8 +266,6 @@ PIXI.WebGLRenderGroup.prototype.renderSpecific = function(displayObject, project // gl.uniformMatrix4fv(PIXI.shaderProgram.mvMatrixUniform, false, projectionMatrix); gl.uniform2f(PIXI.shaderProgram.projectionVector, projection.x, projection.y); - - //console.log("SPECIFIC"); // to do! // render part of the scene... @@ -249,8 +275,18 @@ PIXI.WebGLRenderGroup.prototype.renderSpecific = function(displayObject, project var endIndex; var endBatchIndex; - // get NEXT Renderable! - var nextRenderable = displayObject.renderable ? displayObject : this.getNextRenderable(displayObject); + /* + * LOOK FOR THE NEXT SPRITE + * This part looks for the closest next sprite that can go into a batch + * it keeps looking until it finds a sprite or gets to the end of the display + * scene graph + */ + var nextRenderable = displayObject.last; + while(nextRenderable._iNext) + { + nextRenderable = nextRenderable._iNext; + if(nextRenderable.renderable && nextRenderable.__renderGroup)break; + } var startBatch = nextRenderable.batch; if(nextRenderable instanceof PIXI.Sprite) @@ -388,20 +424,44 @@ PIXI.WebGLRenderGroup.prototype.renderSpecial = function(renderable) } else if(renderable instanceof PIXI.Graphics) { - if(renderable.visible) PIXI.WebGLGraphics.renderGraphics(renderable);//, projectionMatrix); + if(renderable.visible && renderable.renderable) PIXI.WebGLGraphics.renderGraphics(renderable);//, projectionMatrix); + } + else if(renderable instanceof PIXI.FilterBlock) + { + /* + * for now only masks are supported.. + */ + if(renderable.open) + { + gl.enable(gl.STENCIL_TEST); + + gl.colorMask(false, false, false, false); + gl.stencilFunc(gl.ALWAYS,1,0xff); + gl.stencilOp(gl.KEEP,gl.KEEP,gl.REPLACE); + + PIXI.WebGLGraphics.renderGraphics(renderable.mask, projection); + + gl.colorMask(true, true, true, false); + gl.stencilFunc(gl.NOTEQUAL,0,0xff); + gl.stencilOp(gl.KEEP,gl.KEEP,gl.KEEP); + } + else + { + gl.disable(gl.STENCIL_TEST); + } } } PIXI.WebGLRenderGroup.prototype.checkVisibility = function(displayObject, globalVisible) { - // give the dp a refference to its renderGroup... + // give the dp a reference to its renderGroup... var children = displayObject.children; //displayObject.worldVisible = globalVisible; for (var i=0; i < children.length; i++) { var child = children[i]; - // TODO optimize... shouldt need to loop through everything all the time + // TODO optimize... should'nt need to loop through everything all the time child.worldVisible = child.visible && globalVisible; // everything should have a batch! @@ -409,12 +469,7 @@ PIXI.WebGLRenderGroup.prototype.checkVisibility = function(displayObject, global if(child.textureChange) { child.textureChange = false; - if(child.worldVisible) - { - this.removeDisplayObject(child); - this.addDisplayObject(child); - //this.updateTexture(child); - } + if(child.worldVisible)this.updateTexture(child); // update texture!! } @@ -427,123 +482,150 @@ PIXI.WebGLRenderGroup.prototype.checkVisibility = function(displayObject, global PIXI.WebGLRenderGroup.prototype.updateTexture = function(displayObject) { - // we know this exists.. - // is it in a batch.. - // check batch length - if(displayObject.batch.length == 1) + + // TODO definitely can optimse this function.. + + this.removeObject(displayObject); + + /* + * LOOK FOR THE PREVIOUS RENDERABLE + * This part looks for the closest previous sprite that can go into a batch + * It keeps going back until it finds a sprite or the stage + */ + var previousRenderable = displayObject.first; + while(previousRenderable != this.root) { - // just one! this guy! so simply swap the texture - displayObject.batch.texture = displayObject.texture.baseTexture; - return; + previousRenderable = previousRenderable._iPrev; + if(previousRenderable.renderable && previousRenderable.__renderGroup)break; } - // early out! - if(displayObject.batch.texture == displayObject.texture.baseTexture)return; + /* + * LOOK FOR THE NEXT SPRITE + * This part looks for the closest next sprite that can go into a batch + * it keeps looking until it finds a sprite or gets to the end of the display + * scene graph + */ + var nextRenderable = displayObject.last; + while(nextRenderable._iNext) + { + nextRenderable = nextRenderable._iNext; + if(nextRenderable.renderable && nextRenderable.__renderGroup)break; + } - - if(displayObject.batch.head == displayObject) - { - //console.log("HEAD") - var currentBatch = displayObject.batch; - - var index = this.batchs.indexOf( currentBatch ); - var previousBatch = this.batchs[index-1]; - currentBatch.remove(displayObject); - - if(previousBatch) - { - if(previousBatch.texture == displayObject.texture.baseTexture && previousBatch.blendMode == displayObject.blendMode) - { - previousBatch.insertAfter(displayObject, previousBatch.tail); - } - else - { - // add it before.. - var batch = PIXI.WebGLRenderer.getBatch(); - batch.init(displayObject); - this.batchs.splice(index-1, 0, batch); - } - - } - else - { - // we are 0! - var batch = PIXI.WebGLRenderer.getBatch(); - batch.init(displayObject); - this.batchs.splice(0, 0, batch); - } - - } - else if(displayObject.batch.tail == displayObject) - { - var currentBatch = displayObject.batch; - - var index = this.batchs.indexOf( currentBatch ); - var nextBatch = this.batchs[index+1]; - currentBatch.remove(displayObject); - - if(nextBatch) - { - if(nextBatch.texture == displayObject.texture.baseTexture && nextBatch.blendMode == displayObject.blendMode) - { - nextBatch.insertBefore(displayObject, nextBatch.head); - return; - } - else - { - // add it before.. - var batch = PIXI.WebGLRenderer.getBatch(); - batch.init(displayObject); - this.batchs.splice(index+1, 0, batch); - } - - } - else - { - // we are 0! - var batch = PIXI.WebGLRenderer.getBatch(); - batch.init(displayObject); - this.batchs.push(batch); - } - } - else - { - // console.log("MIDDLE") - var currentBatch = displayObject.batch; - - // split the batch into 2 - // AH! dont split on the current display object as the texture is wrong! - var splitBatch = currentBatch.split(displayObject); - - // now remove the display object - splitBatch.remove(displayObject); - - var batch = PIXI.WebGLRenderer.getBatch(); - var index = this.batchs.indexOf( currentBatch ); - batch.init(displayObject); - this.batchs.splice(index+1, 0, batch, splitBatch); - } + this.insertObject(displayObject, previousRenderable, nextRenderable); } -PIXI.WebGLRenderGroup.prototype.addDisplayObject = function(displayObject) +PIXI.WebGLRenderGroup.prototype.addFilterBlocks = function(start, end) +{ + start.__renderGroup = this; + end.__renderGroup = this; + /* + * LOOK FOR THE PREVIOUS RENDERABLE + * This part looks for the closest previous sprite that can go into a batch + * It keeps going back until it finds a sprite or the stage + */ + var previousRenderable = start; + while(previousRenderable != this.root) + { + previousRenderable = previousRenderable._iPrev; + if(previousRenderable.renderable && previousRenderable.__renderGroup)break; + } + this.insertAfter(start, previousRenderable); + + /* + * LOOK FOR THE NEXT SPRITE + * This part looks for the closest next sprite that can go into a batch + * it keeps looking until it finds a sprite or gets to the end of the display + * scene graph + */ + var previousRenderable2 = end; + while(previousRenderable2 != this.root) + { + previousRenderable2 = previousRenderable2._iPrev; + if(previousRenderable2.renderable && previousRenderable2.__renderGroup)break; + } + this.insertAfter(end, previousRenderable2); +} + +PIXI.WebGLRenderGroup.prototype.removeFilterBlocks = function(start, end) +{ + this.removeObject(start); + this.removeObject(end); +} + +PIXI.WebGLRenderGroup.prototype.addDisplayObjectAndChildren = function(displayObject) { - // add a child to the render group.. if(displayObject.__renderGroup)displayObject.__renderGroup.removeDisplayObjectAndChildren(displayObject); - - // DONT htink this is needed? - // displayObject.batch = null; - displayObject.__renderGroup = this; + /* + * LOOK FOR THE PREVIOUS RENDERABLE + * This part looks for the closest previous sprite that can go into a batch + * It keeps going back until it finds a sprite or the stage + */ + + var previousRenderable = displayObject.first; + while(previousRenderable != this.root) + { + previousRenderable = previousRenderable._iPrev; + if(previousRenderable.renderable && previousRenderable.__renderGroup)break; + } + + /* + * LOOK FOR THE NEXT SPRITE + * This part looks for the closest next sprite that can go into a batch + * it keeps looking until it finds a sprite or gets to the end of the display + * scene graph + */ + var nextRenderable = displayObject.last; + while(nextRenderable._iNext) + { + nextRenderable = nextRenderable._iNext; + if(nextRenderable.renderable && nextRenderable.__renderGroup)break; + } + + // one the display object hits this. we can break the loop + + var tempObject = displayObject.first; + var testObject = displayObject.last._iNext; + do + { + tempObject.__renderGroup = this; + + if(tempObject.renderable) + { + + this.insertObject(tempObject, previousRenderable, nextRenderable); + previousRenderable = tempObject; + } + + tempObject = tempObject._iNext; + } + while(tempObject != testObject) +} - //displayObject.cacheVisible = true; - if(!displayObject.renderable)return; +PIXI.WebGLRenderGroup.prototype.removeDisplayObjectAndChildren = function(displayObject) +{ + if(displayObject.__renderGroup != this)return; + +// var displayObject = displayObject.first; + var lastObject = displayObject.last; + do + { + displayObject.__renderGroup = null; + if(displayObject.renderable)this.removeObject(displayObject); + displayObject = displayObject._iNext; + } + while(displayObject) +} + + +PIXI.WebGLRenderGroup.prototype.insertObject = function(displayObject, previousObject, nextObject) +{ // while looping below THE OBJECT MAY NOT HAVE BEEN ADDED - //displayObject.__inWebGL = true; + var previousSprite = previousObject; + var nextSprite = nextObject; - var previousSprite = this.getPreviousRenderable(displayObject); - var nextSprite = this.getNextRenderable(displayObject); - /* * so now we have the next renderable and the previous renderable * @@ -612,6 +694,7 @@ PIXI.WebGLRenderGroup.prototype.addDisplayObject = function(displayObject) else { // TODO re-word! + nextBatch = nextSprite; } } @@ -634,49 +717,88 @@ PIXI.WebGLRenderGroup.prototype.addDisplayObject = function(displayObject) { this.batchs.push(batch); } - + + return; } else if(displayObject instanceof PIXI.TilingSprite) { // add to a batch!! this.initTilingSprite(displayObject); - this.batchs.push(displayObject); + // this.batchs.push(displayObject); } else if(displayObject instanceof PIXI.Strip) { // add to a batch!! this.initStrip(displayObject); - this.batchs.push(displayObject); + // this.batchs.push(displayObject); } - else if(displayObject instanceof PIXI.Graphics) + else if(displayObject)// instanceof PIXI.Graphics) { //displayObject.initWebGL(this); // add to a batch!! //this.initStrip(displayObject); - this.batchs.push(displayObject); + //this.batchs.push(displayObject); } - // if its somthing else... then custom codes! - this.batchUpdate = true; + this.insertAfter(displayObject, previousSprite); + + // insert and SPLIT! + } -PIXI.WebGLRenderGroup.prototype.addDisplayObjectAndChildren = function(displayObject) + + +PIXI.WebGLRenderGroup.prototype.insertAfter = function(item, displayObject) { - // TODO - this can be faster - but not as important right now - - this.addDisplayObject(displayObject); - var children = displayObject.children; - - for (var i=0; i < children.length; i++) + if(displayObject instanceof PIXI.Sprite) { - this.addDisplayObjectAndChildren(children[i]); - }; + var previousBatch = displayObject.batch; + + if(previousBatch) + { + // so this object is in a batch! + + // is it not? need to split the batch + if(previousBatch.tail == displayObject) + { + // is it tail? insert in to batchs + var index = this.batchs.indexOf( previousBatch ); + this.batchs.splice(index+1, 0, item); + } + else + { + // TODO MODIFY ADD / REMOVE CHILD TO ACCOUNT FOR FILTERS (also get prev and next) // + + // THERE IS A SPLIT IN THIS BATCH! // + var splitBatch = previousBatch.split(displayObject.__next); + + // COOL! + // add it back into the array + /* + * OOPS! + * seems the new sprite is in the middle of a batch + * lets split it.. + */ + var index = this.batchs.indexOf( previousBatch ); + this.batchs.splice(index+1, 0, item, splitBatch); + } + } + else + { + this.batchs.push(item); + } + } + else + { + var index = this.batchs.indexOf( displayObject ); + this.batchs.splice(index+1, 0, item); + } } -PIXI.WebGLRenderGroup.prototype.removeDisplayObject = function(displayObject) +PIXI.WebGLRenderGroup.prototype.removeObject = function(displayObject) { // loop through children.. // display object // @@ -684,10 +806,7 @@ PIXI.WebGLRenderGroup.prototype.removeDisplayObject = function(displayObject) // add a child from the render group.. // remove it and all its children! //displayObject.cacheVisible = false;//displayObject.visible; - displayObject.__renderGroup = null; - - if(!displayObject.renderable)return; - + /* * removing is a lot quicker.. * @@ -745,111 +864,18 @@ PIXI.WebGLRenderGroup.prototype.removeDisplayObject = function(displayObject) } } - this.batchs.splice(index, 1); if(batchToRemove instanceof PIXI.WebGLBatch)PIXI.WebGLRenderer.returnBatch(batchToRemove); } } -PIXI.WebGLRenderGroup.prototype.removeDisplayObjectAndChildren = function(displayObject) -{ - // TODO - this can be faster - but not as important right now - if(displayObject.__renderGroup != this)return; - - this.removeDisplayObject(displayObject); - var children = displayObject.children; - - for (var i=0; i < children.length; i++) - { - this.removeDisplayObjectAndChildren(children[i]); - }; -} /** * @private */ -PIXI.WebGLRenderGroup.prototype.getNextRenderable = function(displayObject) -{ - /* - * LOOK FOR THE NEXT SPRITE - * This part looks for the closest next sprite that can go into a batch - * it keeps looking until it finds a sprite or gets to the end of the display - * scene graph - * - * These look a lot scarier than the actually are... - */ - - var nextSprite = displayObject; - do - { - // moving forward! - // if it has no children.. - if(nextSprite.children.length == 0) - { - //maynot have a parent - if(!nextSprite.parent)return null; - - // go along to the parent.. - while(nextSprite.childIndex == nextSprite.parent.children.length-1) - { - nextSprite = nextSprite.parent; - //console.log(">" + nextSprite); -// console.log(">-" + this.root); - if(nextSprite == this.root || !nextSprite.parent)//displayObject.stage) - { - nextSprite = null - break; - } - } - - if(nextSprite)nextSprite = nextSprite.parent.children[nextSprite.childIndex+1]; - } - else - { - nextSprite = nextSprite.children[0]; - } - if(!nextSprite)break; - } - while(!nextSprite.renderable || !nextSprite.__renderGroup) - - return nextSprite; -} -PIXI.WebGLRenderGroup.prototype.getPreviousRenderable = function(displayObject) -{ - /* - * LOOK FOR THE PREVIOUS SPRITE - * This part looks for the closest previous sprite that can go into a batch - * It keeps going back until it finds a sprite or the stage - */ - var previousSprite = displayObject; - do - { - if(previousSprite.childIndex == 0) - { - previousSprite = previousSprite.parent; - if(!previousSprite)return null; - } - else - { - - previousSprite = previousSprite.parent.children[previousSprite.childIndex-1]; - // what if the bloop has children??? - while(previousSprite.children.length != 0) - { - // keep diggin till we get to the last child - previousSprite = previousSprite.children[previousSprite.children.length-1]; - } - } - - if(previousSprite == this.root)break; - } - while(!previousSprite.renderable || !previousSprite.__renderGroup); - - return previousSprite; -} /** * @private @@ -930,7 +956,7 @@ PIXI.WebGLRenderGroup.prototype.renderStrip = function(strip, projection) gl.uniform2f(PIXI.stripShaderProgram.projectionVector, projection.x, projection.y); gl.uniform1f(PIXI.stripShaderProgram.alpha, strip.worldAlpha); - +/* if(strip.blendMode == PIXI.blendModes.NORMAL) { gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA); @@ -939,7 +965,7 @@ PIXI.WebGLRenderGroup.prototype.renderStrip = function(strip, projection) { gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_COLOR); } - + */ if(!strip.dirty) diff --git a/docs/files/src_pixi_renderers_webgl_WebGLRenderer.js.html b/docs/files/src_pixi_renderers_webgl_WebGLRenderer.js.html index e301d03..eb6aae6 100644 --- a/docs/files/src_pixi_renderers_webgl_WebGLRenderer.js.html +++ b/docs/files/src_pixi_renderers_webgl_WebGLRenderer.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • @@ -192,7 +196,8 @@ PIXI.WebGLRenderer = function(width, height, view, transparent) PIXI.gl = this.gl = this.view.getContext("experimental-webgl", { alpha: this.transparent, antialias:true, // SPEED UP?? - premultipliedAlpha:false + premultipliedAlpha:false, + stencil:true }); } catch (e) @@ -212,6 +217,10 @@ PIXI.WebGLRenderer = function(width, height, view, transparent) this.batch = new PIXI.WebGLBatch(gl); gl.disable(gl.DEPTH_TEST); gl.disable(gl.CULL_FACE); + + // + + gl.enable(gl.BLEND); gl.colorMask(true, true, true, this.transparent); diff --git a/docs/files/src_pixi_renderers_webgl_WebGLShaders.js.html b/docs/files/src_pixi_renderers_webgl_WebGLShaders.js.html index 17ce023..1dff6c3 100644 --- a/docs/files/src_pixi_renderers_webgl_WebGLShaders.js.html +++ b/docs/files/src_pixi_renderers_webgl_WebGLShaders.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • @@ -242,7 +246,6 @@ PIXI.primitiveShaderVertexSrc = [ PIXI.initPrimitiveShader = function() { - return; var gl = PIXI.gl; var shaderProgram = PIXI.compileProgram(PIXI.primitiveShaderVertexSrc, PIXI.primitiveShaderFragmentSrc) @@ -325,21 +328,6 @@ PIXI._CompileShader = function(gl, shaderSrc, shaderType) return shader; } -PIXI.activateDefaultShader = function() -{ - var gl = PIXI.gl; - var shaderProgram = PIXI.shaderProgram; - - gl.useProgram(shaderProgram); - - - gl.enableVertexAttribArray(shaderProgram.vertexPositionAttribute); - gl.enableVertexAttribArray(shaderProgram.textureCoordAttribute); - gl.enableVertexAttribArray(shaderProgram.colorAttribute); - - - -} PIXI.compileProgram = function(vertexSrc, fragmentSrc) { @@ -360,6 +348,22 @@ PIXI.compileProgram = function(vertexSrc, fragmentSrc) return shaderProgram; } + +PIXI.activateDefaultShader = function() +{ + var gl = PIXI.gl; + var shaderProgram = PIXI.shaderProgram; + + gl.useProgram(shaderProgram); + + + gl.enableVertexAttribArray(shaderProgram.vertexPositionAttribute); + gl.enableVertexAttribArray(shaderProgram.textureCoordAttribute); + gl.enableVertexAttribArray(shaderProgram.colorAttribute); +} + + + PIXI.activatePrimitiveShader = function() { var gl = PIXI.gl; diff --git a/docs/files/src_pixi_text_BitmapText.js.html b/docs/files/src_pixi_text_BitmapText.js.html index ca39b62..5e9bbc2 100644 --- a/docs/files/src_pixi_text_BitmapText.js.html +++ b/docs/files/src_pixi_text_BitmapText.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/files/src_pixi_text_Text.js.html b/docs/files/src_pixi_text_Text.js.html index 5503bdf..0ad9379 100644 --- a/docs/files/src_pixi_text_Text.js.html +++ b/docs/files/src_pixi_text_Text.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/files/src_pixi_textures_BaseTexture.js.html b/docs/files/src_pixi_textures_BaseTexture.js.html index ddc2fab..98f2ff6 100644 --- a/docs/files/src_pixi_textures_BaseTexture.js.html +++ b/docs/files/src_pixi_textures_BaseTexture.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/files/src_pixi_textures_RenderTexture.js.html b/docs/files/src_pixi_textures_RenderTexture.js.html index 2fc0808..0c25c6d 100644 --- a/docs/files/src_pixi_textures_RenderTexture.js.html +++ b/docs/files/src_pixi_textures_RenderTexture.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/files/src_pixi_textures_Texture.js.html b/docs/files/src_pixi_textures_Texture.js.html index 6e0c5d3..ac3027a 100644 --- a/docs/files/src_pixi_textures_Texture.js.html +++ b/docs/files/src_pixi_textures_Texture.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/files/src_pixi_utils_Detector.js.html b/docs/files/src_pixi_utils_Detector.js.html index 4b5012d..7dbe0d9 100644 --- a/docs/files/src_pixi_utils_Detector.js.html +++ b/docs/files/src_pixi_utils_Detector.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/files/src_pixi_utils_EventTarget.js.html b/docs/files/src_pixi_utils_EventTarget.js.html index 741581d..e49f174 100644 --- a/docs/files/src_pixi_utils_EventTarget.js.html +++ b/docs/files/src_pixi_utils_EventTarget.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/files/src_pixi_utils_Utils.js.html b/docs/files/src_pixi_utils_Utils.js.html index 25781b3..0e7d63a 100644 --- a/docs/files/src_pixi_utils_Utils.js.html +++ b/docs/files/src_pixi_utils_Utils.js.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • @@ -231,7 +235,32 @@ var AjaxRequest = PIXI.AjaxRequest = function() } } - +/* + * DEBUGGING ONLY + */ +PIXI.runList = function(item) +{ + console.log(">>>>>>>>>") + console.log("_") + var safe = 0; + var tmp = item.first; + console.log(tmp); + + while(tmp._iNext) + { + safe++; +// console.log(tmp.childIndex + tmp); + tmp = tmp._iNext; + console.log(tmp);//.childIndex); + // console.log(tmp); + + if(safe > 100) + { + console.log("BREAK") + break + } + } +} diff --git a/docs/index.html b/docs/index.html index 2968f75..6de3004 100644 --- a/docs/index.html +++ b/docs/index.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • diff --git a/docs/modules/PIXI.html b/docs/modules/PIXI.html index c7419e1..52f88e4 100644 --- a/docs/modules/PIXI.html +++ b/docs/modules/PIXI.html @@ -53,12 +53,16 @@
  • CanvasRenderer
  • +
  • Circle
  • +
  • CustomRenderable
  • DisplayObject
  • DisplayObjectContainer
  • +
  • Ellipse
  • +
  • Graphics
  • ImageLoader
  • @@ -146,7 +150,7 @@ @@ -204,6 +208,12 @@ +
  • + + Circle + +
  • +
  • CustomRenderable @@ -222,6 +232,12 @@
  • +
  • + + Ellipse + +
  • +
  • Graphics diff --git a/examples/example 1 - Basics/pixi.js b/examples/example 1 - Basics/pixi.js index 7a077d4..bb7c6c0 100644 --- a/examples/example 1 - Basics/pixi.js +++ b/examples/example 1 - Basics/pixi.js @@ -4,7 +4,7 @@ * Copyright (c) 2012, Mat Groves * http://goodboydigital.com/ * - * Compiled: 2013-07-01 + * Compiled: 2013-07-02 * * Pixi.JS is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license.php @@ -180,7 +180,7 @@ PIXI.Polygon = function(points) * @method clone * @return a copy of the polygon */ -PIXI.Polygon.clone = function() +PIXI.Polygon.prototype.clone = function() { var points = []; for (var i=0; i