diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 91225e0..c7549e0 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -804,10 +804,10 @@ var context = renderer.context; var transform = this.worldTransform; - if (this.blendMode !== renderer.currentBlendMode) + var compositeOperation = renderer.blendModes[this.blendMode]; + if (compositeOperation !== context.globalCompositeOperation) { - renderer.currentBlendMode = this.blendMode; - context.globalCompositeOperation = renderer.blendModes[renderer.currentBlendMode]; + context.globalCompositeOperation = compositeOperation; } var resolution = renderer.resolution; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 91225e0..c7549e0 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -804,10 +804,10 @@ var context = renderer.context; var transform = this.worldTransform; - if (this.blendMode !== renderer.currentBlendMode) + var compositeOperation = renderer.blendModes[this.blendMode]; + if (compositeOperation !== context.globalCompositeOperation) { - renderer.currentBlendMode = this.blendMode; - context.globalCompositeOperation = renderer.blendModes[renderer.currentBlendMode]; + context.globalCompositeOperation = compositeOperation; } var resolution = renderer.resolution; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 1ed0c28..282e1f0 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -61,24 +61,6 @@ this.roundPixels = options.roundPixels; /** - * Tracks the active scale mode for this renderer. - * - * @member {number} - * @default PIXI.SCALE_MODES.DEFAULT - * @see PIXI.SCALE_MODES - */ - this.currentScaleMode = CONST.SCALE_MODES.DEFAULT; - - /** - * Tracks the active blend mode for this renderer. - * - * @member {number} - * @default PIXI.BLEND_MODES.NORMAL - * @see PIXI.BLEND_MODES - */ - this.currentBlendMode = CONST.BLEND_MODES.NORMAL; - - /** * The canvas property used to set the canvas smoothing property. * * @member {string} @@ -152,7 +134,6 @@ this.context.globalAlpha = 1; - this.currentBlendMode = CONST.BLEND_MODES.NORMAL; this.context.globalCompositeOperation = this.blendModes[CONST.BLEND_MODES.NORMAL]; if (navigator.isCocoonJS && this.view.screencanvas) @@ -198,9 +179,6 @@ this.roundPixels = false; - this.currentScaleMode = 0; - this.currentBlendMode = 0; - this.smoothProperty = null; }; @@ -225,11 +203,9 @@ //reset the scale mode.. oddly this seems to be reset when the canvas is resized. //surely a browser bug?? Let pixi fix that for you.. - this.currentScaleMode = CONST.SCALE_MODES.DEFAULT; - if(this.smoothProperty) { - this.context[this.smoothProperty] = (this.currentScaleMode === CONST.SCALE_MODES.LINEAR); + this.context[this.smoothProperty] = (CONST.SCALE_MODES.DEFAULT === CONST.SCALE_MODES.LINEAR); } }; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 91225e0..c7549e0 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -804,10 +804,10 @@ var context = renderer.context; var transform = this.worldTransform; - if (this.blendMode !== renderer.currentBlendMode) + var compositeOperation = renderer.blendModes[this.blendMode]; + if (compositeOperation !== context.globalCompositeOperation) { - renderer.currentBlendMode = this.blendMode; - context.globalCompositeOperation = renderer.blendModes[renderer.currentBlendMode]; + context.globalCompositeOperation = compositeOperation; } var resolution = renderer.resolution; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 1ed0c28..282e1f0 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -61,24 +61,6 @@ this.roundPixels = options.roundPixels; /** - * Tracks the active scale mode for this renderer. - * - * @member {number} - * @default PIXI.SCALE_MODES.DEFAULT - * @see PIXI.SCALE_MODES - */ - this.currentScaleMode = CONST.SCALE_MODES.DEFAULT; - - /** - * Tracks the active blend mode for this renderer. - * - * @member {number} - * @default PIXI.BLEND_MODES.NORMAL - * @see PIXI.BLEND_MODES - */ - this.currentBlendMode = CONST.BLEND_MODES.NORMAL; - - /** * The canvas property used to set the canvas smoothing property. * * @member {string} @@ -152,7 +134,6 @@ this.context.globalAlpha = 1; - this.currentBlendMode = CONST.BLEND_MODES.NORMAL; this.context.globalCompositeOperation = this.blendModes[CONST.BLEND_MODES.NORMAL]; if (navigator.isCocoonJS && this.view.screencanvas) @@ -198,9 +179,6 @@ this.roundPixels = false; - this.currentScaleMode = 0; - this.currentBlendMode = 0; - this.smoothProperty = null; }; @@ -225,11 +203,9 @@ //reset the scale mode.. oddly this seems to be reset when the canvas is resized. //surely a browser bug?? Let pixi fix that for you.. - this.currentScaleMode = CONST.SCALE_MODES.DEFAULT; - if(this.smoothProperty) { - this.context[this.smoothProperty] = (this.currentScaleMode === CONST.SCALE_MODES.LINEAR); + this.context[this.smoothProperty] = (CONST.SCALE_MODES.DEFAULT === CONST.SCALE_MODES.LINEAR); } }; diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 82219a9..825e48b 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -381,10 +381,10 @@ return; } - if (this.blendMode !== renderer.currentBlendMode) + var compositeOperation = renderer.blendModes[this.blendMode]; + if (compositeOperation !== renderer.context.globalCompositeOperation) { - renderer.currentBlendMode = this.blendMode; - renderer.context.globalCompositeOperation = renderer.blendModes[renderer.currentBlendMode]; + renderer.context.globalCompositeOperation = compositeOperation; } // Ignore null sources @@ -400,10 +400,10 @@ renderer.context.globalAlpha = this.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for this texture - if (renderer.smoothProperty && renderer.currentScaleMode !== texture.baseTexture.scaleMode) + var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { - renderer.currentScaleMode = texture.baseTexture.scaleMode; - renderer.context[renderer.smoothProperty] = (renderer.currentScaleMode === CONST.SCALE_MODES.LINEAR); + renderer.context[renderer.smoothProperty] = smoothingEnabled; } // If the texture is trimmed we offset by the trim x/y, otherwise we use the frame dimensions diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 91225e0..c7549e0 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -804,10 +804,10 @@ var context = renderer.context; var transform = this.worldTransform; - if (this.blendMode !== renderer.currentBlendMode) + var compositeOperation = renderer.blendModes[this.blendMode]; + if (compositeOperation !== context.globalCompositeOperation) { - renderer.currentBlendMode = this.blendMode; - context.globalCompositeOperation = renderer.blendModes[renderer.currentBlendMode]; + context.globalCompositeOperation = compositeOperation; } var resolution = renderer.resolution; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 1ed0c28..282e1f0 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -61,24 +61,6 @@ this.roundPixels = options.roundPixels; /** - * Tracks the active scale mode for this renderer. - * - * @member {number} - * @default PIXI.SCALE_MODES.DEFAULT - * @see PIXI.SCALE_MODES - */ - this.currentScaleMode = CONST.SCALE_MODES.DEFAULT; - - /** - * Tracks the active blend mode for this renderer. - * - * @member {number} - * @default PIXI.BLEND_MODES.NORMAL - * @see PIXI.BLEND_MODES - */ - this.currentBlendMode = CONST.BLEND_MODES.NORMAL; - - /** * The canvas property used to set the canvas smoothing property. * * @member {string} @@ -152,7 +134,6 @@ this.context.globalAlpha = 1; - this.currentBlendMode = CONST.BLEND_MODES.NORMAL; this.context.globalCompositeOperation = this.blendModes[CONST.BLEND_MODES.NORMAL]; if (navigator.isCocoonJS && this.view.screencanvas) @@ -198,9 +179,6 @@ this.roundPixels = false; - this.currentScaleMode = 0; - this.currentBlendMode = 0; - this.smoothProperty = null; }; @@ -225,11 +203,9 @@ //reset the scale mode.. oddly this seems to be reset when the canvas is resized. //surely a browser bug?? Let pixi fix that for you.. - this.currentScaleMode = CONST.SCALE_MODES.DEFAULT; - if(this.smoothProperty) { - this.context[this.smoothProperty] = (this.currentScaleMode === CONST.SCALE_MODES.LINEAR); + this.context[this.smoothProperty] = (CONST.SCALE_MODES.DEFAULT === CONST.SCALE_MODES.LINEAR); } }; diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 82219a9..825e48b 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -381,10 +381,10 @@ return; } - if (this.blendMode !== renderer.currentBlendMode) + var compositeOperation = renderer.blendModes[this.blendMode]; + if (compositeOperation !== renderer.context.globalCompositeOperation) { - renderer.currentBlendMode = this.blendMode; - renderer.context.globalCompositeOperation = renderer.blendModes[renderer.currentBlendMode]; + renderer.context.globalCompositeOperation = compositeOperation; } // Ignore null sources @@ -400,10 +400,10 @@ renderer.context.globalAlpha = this.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for this texture - if (renderer.smoothProperty && renderer.currentScaleMode !== texture.baseTexture.scaleMode) + var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { - renderer.currentScaleMode = texture.baseTexture.scaleMode; - renderer.context[renderer.smoothProperty] = (renderer.currentScaleMode === CONST.SCALE_MODES.LINEAR); + renderer.context[renderer.smoothProperty] = smoothingEnabled; } // If the texture is trimmed we offset by the trim x/y, otherwise we use the frame dimensions diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index 9d36910..a229141 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -259,10 +259,10 @@ modY + (this.anchor.y * -this._height)); // check blend mode - if (this.blendMode !== renderer.currentBlendMode) + var compositeOperation = renderer.blendModes[this.blendMode]; + if (compositeOperation !== renderer.context.globalCompositeOperation) { - renderer.currentBlendMode = this.blendMode; - context.globalCompositeOperation = renderer.blendModes[renderer.currentBlendMode]; + context.globalCompositeOperation = compositeOperation; } // fill the pattern!