From 17f8260b5ee95789cf3abeb24771addee2e69c74 Mon Sep 17 00:00:00 2001 From: Chad Engler Date: Thu, 18 Apr 2013 07:49:02 -0400 Subject: [PATCH 1/2] add fromImage to BaseTexture --- src/pixi/textures/BaseTexture.js | 15 ++++++++++++++- src/pixi/textures/Texture.js | 20 ++++---------------- 2 files changed, 18 insertions(+), 17 deletions(-) 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 = function(source) 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 @@ PIXI.Texture = function(baseTexture, frame) } this.trim = new PIXI.Point(); + + if(baseTexture instanceof PIXI.Texture) + baseTexture = baseTexture.baseTexture; /** * The base texture of this texture @@ -105,24 +108,9 @@ PIXI.Texture.fromImage = function(imageUrl, crossorigin) 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; From 3fb36d6272b09f88d25993d053eb1822451f1557 Mon Sep 17 00:00:00 2001 From: Chad Engler Date: Thu, 18 Apr 2013 07:53:03 -0400 Subject: [PATCH 2/2] Add some docs to the new fromImage method --- src/pixi/textures/BaseTexture.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/pixi/textures/BaseTexture.js b/src/pixi/textures/BaseTexture.js index 35ec5e2..50e51be 100644 --- a/src/pixi/textures/BaseTexture.js +++ b/src/pixi/textures/BaseTexture.js @@ -86,6 +86,15 @@ PIXI.BaseTexture = function(source) PIXI.BaseTexture.constructor = PIXI.BaseTexture; +/** + * + * Helper function that returns a base texture based on an image url + * If the image is not in the base texture cache it will be created and loaded + * @static + * @method fromImage + * @param imageUrl {String} The image url of the texture + * @return BaseTexture + */ PIXI.BaseTexture.fromImage = function(imageUrl, crossorigin) { var baseTexture = PIXI.BaseTextureCache[imageUrl];