diff --git a/src/pixi/display/DisplayObjectContainer.js b/src/pixi/display/DisplayObjectContainer.js index 68ba15c..09d5b0c 100644 --- a/src/pixi/display/DisplayObjectContainer.js +++ b/src/pixi/display/DisplayObjectContainer.js @@ -72,7 +72,7 @@ var previousObject; // this could be wrong if there is a filter?? - if(this._filters) + if(this._filters || this._mask) { previousObject = this.last._iPrev; } diff --git a/src/pixi/display/DisplayObjectContainer.js b/src/pixi/display/DisplayObjectContainer.js index 68ba15c..09d5b0c 100644 --- a/src/pixi/display/DisplayObjectContainer.js +++ b/src/pixi/display/DisplayObjectContainer.js @@ -72,7 +72,7 @@ var previousObject; // this could be wrong if there is a filter?? - if(this._filters) + if(this._filters || this._mask) { previousObject = this.last._iPrev; } diff --git a/src/pixi/extras/CustomRenderable.js b/src/pixi/extras/CustomRenderable.js index e9812b2..24b2258 100644 --- a/src/pixi/extras/CustomRenderable.js +++ b/src/pixi/extras/CustomRenderable.js @@ -13,7 +13,8 @@ PIXI.CustomRenderable = function() { PIXI.DisplayObject.call( this ); - + + this.renderable = true; } // constructor diff --git a/src/pixi/display/DisplayObjectContainer.js b/src/pixi/display/DisplayObjectContainer.js index 68ba15c..09d5b0c 100644 --- a/src/pixi/display/DisplayObjectContainer.js +++ b/src/pixi/display/DisplayObjectContainer.js @@ -72,7 +72,7 @@ var previousObject; // this could be wrong if there is a filter?? - if(this._filters) + if(this._filters || this._mask) { previousObject = this.last._iPrev; } diff --git a/src/pixi/extras/CustomRenderable.js b/src/pixi/extras/CustomRenderable.js index e9812b2..24b2258 100644 --- a/src/pixi/extras/CustomRenderable.js +++ b/src/pixi/extras/CustomRenderable.js @@ -13,7 +13,8 @@ PIXI.CustomRenderable = function() { PIXI.DisplayObject.call( this ); - + + this.renderable = true; } // constructor diff --git a/src/pixi/renderers/canvas/CanvasRenderer.js b/src/pixi/renderers/canvas/CanvasRenderer.js index 641faa8..a1a7352 100644 --- a/src/pixi/renderers/canvas/CanvasRenderer.js +++ b/src/pixi/renderers/canvas/CanvasRenderer.js @@ -195,6 +195,7 @@ } else if(displayObject instanceof PIXI.CustomRenderable) { + context.setTransform(transform[0], transform[3], transform[1], transform[4], transform[2], transform[5]); displayObject.renderCanvas(this); } else if(displayObject instanceof PIXI.Graphics) @@ -204,25 +205,27 @@ } else if(displayObject instanceof PIXI.FilterBlock) { - if(PIXI.FilterBlock.data instanceof PIXI.Graphics) - { + if(displayObject.data instanceof PIXI.Graphics) + { ++ var mask = displayObject.data; + if(displayObject.open) { context.save(); - var cacheAlpha = displayObject.mask.alpha; - var maskTransform = displayObject.mask.worldTransform; + var cacheAlpha = mask.alpha; ++ var maskTransform = mask.worldTransform; context.setTransform(maskTransform[0], maskTransform[3], maskTransform[1], maskTransform[4], maskTransform[2], maskTransform[5]) - displayObject.mask.worldAlpha = 0.5; + mask.worldAlpha = 0.5; context.worldAlpha = 0; - PIXI.CanvasGraphics.renderGraphicsMask(displayObject.mask, context); + PIXI.CanvasGraphics.renderGraphicsMask(mask, context); context.clip(); - displayObject.mask.worldAlpha = cacheAlpha; + mask.worldAlpha = cacheAlpha; } else {