diff --git a/src/pixi/textures/BaseTexture.js b/src/pixi/textures/BaseTexture.js index 754fe72..35ec5e2 100644 --- a/src/pixi/textures/BaseTexture.js +++ b/src/pixi/textures/BaseTexture.js @@ -86,7 +86,20 @@ PIXI.BaseTexture.constructor = PIXI.BaseTexture; -PIXI.BaseTexture.prototype.fromImage = function(imageUrl) +PIXI.BaseTexture.fromImage = function(imageUrl, crossorigin) { + var baseTexture = PIXI.BaseTextureCache[imageUrl]; + if(!baseTexture) + { + var image = new Image(); + if (crossorigin) + { + image.crossOrigin = ''; + } + image.src = imageUrl; + baseTexture = new PIXI.BaseTexture(image); + PIXI.BaseTextureCache[imageUrl] = baseTexture; + } + return baseTexture; } diff --git a/src/pixi/textures/BaseTexture.js b/src/pixi/textures/BaseTexture.js index 754fe72..35ec5e2 100644 --- a/src/pixi/textures/BaseTexture.js +++ b/src/pixi/textures/BaseTexture.js @@ -86,7 +86,20 @@ PIXI.BaseTexture.constructor = PIXI.BaseTexture; -PIXI.BaseTexture.prototype.fromImage = function(imageUrl) +PIXI.BaseTexture.fromImage = function(imageUrl, crossorigin) { + var baseTexture = PIXI.BaseTextureCache[imageUrl]; + if(!baseTexture) + { + var image = new Image(); + if (crossorigin) + { + image.crossOrigin = ''; + } + image.src = imageUrl; + baseTexture = new PIXI.BaseTexture(image); + PIXI.BaseTextureCache[imageUrl] = baseTexture; + } + return baseTexture; } diff --git a/src/pixi/textures/Texture.js b/src/pixi/textures/Texture.js index d4f68bf..97e5492 100644 --- a/src/pixi/textures/Texture.js +++ b/src/pixi/textures/Texture.js @@ -24,6 +24,9 @@ } this.trim = new PIXI.Point(); + + if(baseTexture instanceof PIXI.Texture) + baseTexture = baseTexture.baseTexture; /** * The base texture of this texture @@ -105,24 +108,9 @@ if(!texture) { - var baseTexture = PIXI.BaseTextureCache[imageUrl]; - if(!baseTexture) - { - var image = new Image();//new Image(); - if (crossorigin) - { - image.crossOrigin = ''; - } - image.src = imageUrl; - baseTexture = new PIXI.BaseTexture(image); - PIXI.BaseTextureCache[imageUrl] = baseTexture; - } - texture = new PIXI.Texture(baseTexture); - + texture = new PIXI.Texture(PIXI.BaseTexture.fromImage(imageUrl, crossorigin)); PIXI.TextureCache[imageUrl] = texture; - - } return texture;