diff --git a/src/deprecation.js b/src/deprecation.js index 5a6f63f..d53fff5 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -5,6 +5,26 @@ extras = require('./extras'), filters = require('./filters'); +// provide method to give a stack track for warnings +// useful for tracking-down where deprecated methods/properties/classes +// are being used within the code +function warn(msg) { + var stack = new Error().stack; + + // chop off the stack trace which includes pixi.js internal calls + stack = stack.split('\n').splice(3).join('\n'); + + if (console.groupCollapsed) { + console.groupCollapsed('%cDeprecation Warning: %c%s', 'color:#614108;background:#fffbe6', 'font-weight:normal;color:#614108;background:#fffbe6', msg); + console.warn(stack); + console.groupEnd(); + } + else { + console.warn('Deprecation Warning: ', msg); + console.warn(stack); + } +} + /** * @class * @private @@ -46,7 +66,7 @@ Stage: { get: function() { - console.warn('You do not need to use a PIXI Stage any more, you can simply render any container.'); + warn('You do not need to use a PIXI Stage any more, you can simply render any container.'); return core.Container; } }, @@ -62,7 +82,7 @@ DisplayObjectContainer: { get: function() { - console.warn('DisplayObjectContainer has been shortened to Container, please use Container from now on.'); + warn('DisplayObjectContainer has been shortened to Container, please use Container from now on.'); return core.Container; } }, @@ -78,7 +98,7 @@ Strip: { get: function() { - console.warn('The Strip class has been renamed to Mesh and moved to mesh.Mesh, please use mesh.Mesh from now on.'); + warn('The Strip class has been renamed to Mesh and moved to mesh.Mesh, please use mesh.Mesh from now on.'); return mesh.Mesh; } }, @@ -94,7 +114,7 @@ Rope: { get: function() { - console.warn('The Rope class has been moved to mesh.Rope, please use mesh.Rope from now on.'); + warn('The Rope class has been moved to mesh.Rope, please use mesh.Rope from now on.'); return mesh.Rope; } }, @@ -109,7 +129,7 @@ */ ParticleContainer: { get: function() { - console.warn('The ParticleContainer class has been moved to particles.ParticleContainer, please use particles.ParticleContainer from now on.'); + warn('The ParticleContainer class has been moved to particles.ParticleContainer, please use particles.ParticleContainer from now on.'); return particles.ParticleContainer; } }, @@ -125,7 +145,7 @@ MovieClip: { get: function() { - console.warn('The MovieClip class has been moved to extras.MovieClip, please use extras.MovieClip from now on.'); + warn('The MovieClip class has been moved to extras.MovieClip, please use extras.MovieClip from now on.'); return extras.MovieClip; } }, @@ -141,7 +161,7 @@ TilingSprite: { get: function() { - console.warn('The TilingSprite class has been moved to extras.TilingSprite, please use extras.TilingSprite from now on.'); + warn('The TilingSprite class has been moved to extras.TilingSprite, please use extras.TilingSprite from now on.'); return extras.TilingSprite; } }, @@ -157,7 +177,7 @@ BitmapText: { get: function() { - console.warn('The BitmapText class has been moved to extras.BitmapText, please use extras.BitmapText from now on.'); + warn('The BitmapText class has been moved to extras.BitmapText, please use extras.BitmapText from now on.'); return extras.BitmapText; } }, @@ -173,7 +193,7 @@ blendModes: { get: function() { - console.warn('The blendModes has been moved to BLEND_MODES, please use BLEND_MODES from now on.'); + warn('The blendModes has been moved to BLEND_MODES, please use BLEND_MODES from now on.'); return core.BLEND_MODES; } }, @@ -189,7 +209,7 @@ scaleModes: { get: function() { - console.warn('The scaleModes has been moved to SCALE_MODES, please use SCALE_MODES from now on.'); + warn('The scaleModes has been moved to SCALE_MODES, please use SCALE_MODES from now on.'); return core.SCALE_MODES; } }, @@ -205,7 +225,7 @@ BaseTextureCache: { get: function () { - console.warn('The BaseTextureCache class has been moved to utils.BaseTextureCache, please use utils.BaseTextureCache from now on.'); + warn('The BaseTextureCache class has been moved to utils.BaseTextureCache, please use utils.BaseTextureCache from now on.'); return core.utils.BaseTextureCache; } }, @@ -221,7 +241,7 @@ TextureCache: { get: function () { - console.warn('The TextureCache class has been moved to utils.TextureCache, please use utils.TextureCache from now on.'); + warn('The TextureCache class has been moved to utils.TextureCache, please use utils.TextureCache from now on.'); return core.utils.TextureCache; } }, @@ -237,7 +257,7 @@ math: { get: function () { - console.warn('The math namespace is deprecated, please access members already accessible on PIXI.'); + warn('The math namespace is deprecated, please access members already accessible on PIXI.'); return core; } }, @@ -252,7 +272,7 @@ AbstractFilter: { get: function() { - console.warn('AstractFilter has been renamed to Filter, please use PIXI.Filter'); + warn('AstractFilter has been renamed to Filter, please use PIXI.Filter'); return core.Filter; } }, @@ -260,44 +280,44 @@ core.DisplayObject.prototype.generateTexture = function(renderer, scaleMode, resolution) { - console.warn('generateTexture has moved to the renderer, please use renderer.generateTexture(displayObject)'); + warn('generateTexture has moved to the renderer, please use renderer.generateTexture(displayObject)'); return renderer.generateTexture(renderer, scaleMode, resolution); }; core.Graphics.prototype.generateTexture = function(scaleMode, resolution) { - console.warn('graphics generate texture has moved to the renderer. Or to render a graphics to a texture using canvas please use generateCanvasTexture'); + warn('graphics generate texture has moved to the renderer. Or to render a graphics to a texture using canvas please use generateCanvasTexture'); return this.generateCanvasTexture(scaleMode, resolution); }; core.RenderTexture.prototype.render = function(displayObject) { this.legacyRenderer.render(displayObject, this); - console.warn('RenderTexture.render is now deprecated, please use renderer.render(displayObject, renderTexture)'); + warn('RenderTexture.render is now deprecated, please use renderer.render(displayObject, renderTexture)'); }; core.RenderTexture.prototype.getImage = function(target) { - console.warn('RenderTexture.getImage is now deprecated, please use renderer.extract.image(target)'); + warn('RenderTexture.getImage is now deprecated, please use renderer.extract.image(target)'); return this.legacyRenderer.extract.image(target); }; core.RenderTexture.prototype.getBase64 = function(target) { - console.warn('RenderTexture.getBase64 is now deprecated, please use renderer.extract.base64(target)'); + warn('RenderTexture.getBase64 is now deprecated, please use renderer.extract.base64(target)'); this.legacyRenderer.extract.base64(target); }; core.RenderTexture.prototype.getCanvas = function(target) { - console.warn('RenderTexture.getCanvas is now deprecated, please use renderer.extract.canvas(target)'); + warn('RenderTexture.getCanvas is now deprecated, please use renderer.extract.canvas(target)'); this.legacyRenderer.extract.canvas(target); }; core.RenderTexture.prototype.getPixels = function(target) { - console.warn('RenderTexture.getPixels is now deprecated, please use renderer.extract.pixels(target)'); + warn('RenderTexture.getPixels is now deprecated, please use renderer.extract.pixels(target)'); this.legacyRenderer.pixels(target); }; @@ -313,7 +333,7 @@ core.Sprite.prototype.setTexture = function(texture) { this.texture = texture; - console.warn('setTexture is now deprecated, please use the texture property, e.g : sprite.texture = texture;'); + warn('setTexture is now deprecated, please use the texture property, e.g : sprite.texture = texture;'); }; @@ -327,7 +347,7 @@ extras.BitmapText.prototype.setText = function(text) { this.text = text; - console.warn('setText is now deprecated, please use the text property, e.g : myBitmapText.text = \'my text\';'); + warn('setText is now deprecated, please use the text property, e.g : myBitmapText.text = \'my text\';'); }; /** @@ -339,7 +359,7 @@ core.Text.prototype.setText = function(text) { this.text = text; - console.warn('setText is now deprecated, please use the text property, e.g : myText.text = \'my text\';'); + warn('setText is now deprecated, please use the text property, e.g : myText.text = \'my text\';'); }; /** @@ -351,7 +371,7 @@ core.Text.prototype.setStyle = function(style) { this.style = style; - console.warn('setStyle is now deprecated, please use the style property, e.g : myText.style = style;'); + warn('setStyle is now deprecated, please use the style property, e.g : myText.style = style;'); }; /** @@ -363,7 +383,7 @@ core.Texture.prototype.setFrame = function(frame) { this.frame = frame; - console.warn('setFrame is now deprecated, please use the frame property, e.g : myTexture.frame = frame;'); + warn('setFrame is now deprecated, please use the frame property, e.g : myTexture.frame = frame;'); }; Object.defineProperties(filters, { @@ -378,7 +398,7 @@ AbstractFilter: { get: function() { - console.warn('AstractFilter has been renamed to Filter, please use PIXI.Filter'); + warn('AstractFilter has been renamed to Filter, please use PIXI.Filter'); return core.AbstractFilter; } }, @@ -393,7 +413,7 @@ FXAAFilter: { get: function() { - console.warn('filters.FXAAFilter is an undocumented alias, please use FXAAFilter from now on.'); + warn('filters.FXAAFilter is an undocumented alias, please use FXAAFilter from now on.'); return core.FXAAFilter; } }, @@ -408,7 +428,7 @@ SpriteMaskFilter: { get: function() { - console.warn('filters.SpriteMaskFilter is an undocumented alias, please use SpriteMaskFilter from now on.'); + warn('filters.SpriteMaskFilter is an undocumented alias, please use SpriteMaskFilter from now on.'); return core.SpriteMaskFilter; } } @@ -422,12 +442,12 @@ */ core.utils.uuid = function () { - console.warn('utils.uuid() is deprecated, please use utils.uid() from now on.'); + warn('utils.uuid() is deprecated, please use utils.uid() from now on.'); return core.utils.uid(); }; core.utils.canUseNewCanvasBlendModes = function() { - console.warn('utils.canUseNewCanvasBlendModes() is deprecated, please use CanvasTinter.canUseMultiply from now on'); + warn('utils.canUseNewCanvasBlendModes() is deprecated, please use CanvasTinter.canUseMultiply from now on'); return core.CanvasTinter.canUseMultiply; };