<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>pixi/textures/Texture.js - The Foo API</title> <link rel="stylesheet" href="http://yui.yahooapis.com/3.8.0pr2/build/cssgrids/cssgrids-min.css"> <link rel="stylesheet" href="../assets/vendor/prettify/prettify-min.css"> <link rel="stylesheet" href="../assets/css/main.css" id="site_styles"> <link rel="shortcut icon" type="image/png" href="../assets/favicon.png"> <script src="http://yui.yahooapis.com/combo?3.8.0pr2/build/yui/yui-min.js"></script> </head> <body class="yui3-skin-sam"> <div id="doc"> <div id="hd" class="yui3-g header"> <div class="yui3-u-3-4"> <h1><img src="../assets/css/logo.png" title="The Foo API"></h1> </div> <div class="yui3-u-1-4 version"> <em>API Docs for: 1.2.1</em> </div> </div> <div id="bd" class="yui3-g"> <div class="yui3-u-1-4"> <div id="docs-sidebar" class="sidebar apidocs"> <div id="api-list"> <h2 class="off-left">APIs</h2> <div id="api-tabview" class="tabview"> <ul class="tabs"> <li><a href="#api-classes">Classes</a></li> <li><a href="#api-modules">Modules</a></li> </ul> <div id="api-tabview-filter"> <input type="search" id="api-filter" placeholder="Type to filter APIs"> </div> <div id="api-tabview-panel"> <ul id="api-classes" class="apis classes"> <li><a href="../classes/AssetLoader.html">AssetLoader</a></li> <li><a href="../classes/BaseTexture.html">BaseTexture</a></li> <li><a href="../classes/CanvasRenderer.html">CanvasRenderer</a></li> <li><a href="../classes/DisplayObject.html">DisplayObject</a></li> <li><a href="../classes/DisplayObjectContainer.html">DisplayObjectContainer</a></li> <li><a href="../classes/MovieClip.html">MovieClip</a></li> <li><a href="../classes/Point.html">Point</a></li> <li><a href="../classes/Rectangle.html">Rectangle</a></li> <li><a href="../classes/Sprite.html">Sprite</a></li> <li><a href="../classes/SpriteSheetLoader.html">SpriteSheetLoader</a></li> <li><a href="../classes/Stage.html">Stage</a></li> <li><a href="../classes/Texture.html">Texture</a></li> <li><a href="../classes/WebGLBatch.html">WebGLBatch</a></li> <li><a href="../classes/WebGLRenderer.html">WebGLRenderer</a></li> </ul> <ul id="api-modules" class="apis modules"> <li><a href="../modules/PIXI.html">PIXI</a></li> </ul> </div> </div> </div> </div> </div> <div class="yui3-u-3-4"> <div id="api-options"> Show: <label for="api-show-inherited"> <input type="checkbox" id="api-show-inherited" checked> Inherited </label> <label for="api-show-protected"> <input type="checkbox" id="api-show-protected"> Protected </label> <label for="api-show-private"> <input type="checkbox" id="api-show-private"> Private </label> <label for="api-show-deprecated"> <input type="checkbox" id="api-show-deprecated"> Deprecated </label> </div> <div class="apidocs"> <div id="docs-main"> <div class="content"> <h1 class="file-heading">File: pixi/textures/Texture.js</h1> <div class="file"> <pre class="code prettyprint linenums"> /** * @author Mat Groves http://matgroves.com/ */ PIXI.TextureCache = {}; PIXI.FrameCache = {}; /** * A texture stores the information that represents an image or part of an image. It cannot be added to the display list directly. To do this use PIXI.Sprite. If no frame is provided then the whole image is used * @class Texture * @extends EventTarget * @constructor * @param baseTexture {BaseTexture} * @param frmae {Rectangle} */ PIXI.Texture = function(baseTexture, frame) { PIXI.EventTarget.call( this ); if(!frame) { this.noFrame = true; frame = new PIXI.Rectangle(0,0,1,1); } this.trim = new PIXI.Point(); /** * The base texture of this texture * @property baseTexture * @type BaseTexture */ this.baseTexture = baseTexture; /** * The frame specifies the region of the base texture that this texture uses * @property frame * @type #Rectangle */ this.frame = frame; this.scope = this; if(baseTexture.hasLoaded) { if(!frame)frame = new PIXI.Rectangle(0,0, baseTexture.width, baseTexture.height); this.setFrame(frame); } else { var scope = this; baseTexture.addEventListener( 'loaded', function(){ scope.onBaseTextureLoaded()} ); } } PIXI.Texture.constructor = PIXI.Texture; PIXI.Texture.prototype.onBaseTextureLoaded = function(event) { var baseTexture = this.baseTexture; baseTexture.removeEventListener( 'loaded', this.onLoaded ); if(this.noFrame)this.frame = new PIXI.Rectangle(0,0, baseTexture.width, baseTexture.height); this.noFrame = false; this.width = this.frame.width; this.height = this.frame.height; this.scope.dispatchEvent( { type: 'update', content: this } ); } /** * Specifies the rectangle region of the baseTexture * @method setFrame * @param frame {Rectangle} */ PIXI.Texture.prototype.setFrame = function(frame) { this.frame = frame; this.width = frame.width; this.height = frame.height; //this.updateFrame = true; } /** * * Helper function that returns a texture based on an image url * If the image is not in the texture cache it will be created and loaded * @static * @method fromImage * @param imageUrl {String} The image url of the texture * @return Texture */ PIXI.Texture.fromImage = function(imageUrl) { var texture = PIXI.TextureCache[imageUrl]; if(!texture) { var baseTexture = PIXI.BaseTextureCache[imageUrl]; if(!baseTexture) baseTexture = new PIXI.BaseTexture(imageUrl); texture = new PIXI.Texture(baseTexture); PIXI.TextureCache[imageUrl] = texture; } return texture; } /** * * Helper function that returns a texture based on a frame id * If the frame id is not in the texture cache an error will be thrown * @method fromFrameId * @param frameId {String} The frame id of the texture * @return Texture */ PIXI.Texture.fromFrameId = function(frameId) { var texture = PIXI.TextureCache[frameId]; if(!texture)throw new Error("The frameId '"+ frameId +"' does not exist in the texture cache " + this); return texture; } /** * * Adds a texture to the textureCache. * @method addTextureToCache * @param texture {Texture} * @param id {String} the id that the texture will be stored against. */ PIXI.Texture.addTextureToCache = function(texture, id) { PIXI.TextureCache[id] = texture; } /** * * Remove a texture from the textureCache. * @method removeTextureFromCache * @param id {String} the id of the texture to be removed */ PIXI.Texture.removeTextureFromCache = function(id) { PIXI.TextureCache[id] = texture; } </pre> </div> </div> </div> </div> </div> </div> </div> <script src="../assets/vendor/prettify/prettify-min.js"></script> <script>prettyPrint();</script> <script src="../assets/js/yui-prettify.js"></script> <script src="../assets/../api.js"></script> <script src="../assets/js/api-filter.js"></script> <script src="../assets/js/api-list.js"></script> <script src="../assets/js/api-search.js"></script> <script src="../assets/js/apidocs.js"></script> </body> </html>