docs: function BaseTexture(source, scaleMode)
  {
      EventTarget.call(this);
  
      /**
       * [read-only] The width of the base texture set when the image has loaded
       *
       * @property width
       * @type Number
       * @readOnly
       */
      this.width = 100;
  
      /**
       * [read-only] The height of the base texture set when the image has loaded
       *
       * @property height
       * @type Number
       * @readOnly
       */
      this.height = 100;
  
      /**
       * The scale mode to apply when scaling this texture
       * @property scaleMode
       * @type PIXI.BaseTexture.SCALE_MODE
       * @default PIXI.BaseTexture.SCALE_MODE.LINEAR
       */
      this.scaleMode = scaleMode || BaseTexture.SCALE_MODE.DEFAULT;
  
      /**
       * [read-only] Describes if the base texture has loaded or not
       *
       * @property hasLoaded
       * @type Boolean
       * @readOnly
       */
      this.hasLoaded = false;
  
      /**
       * The source that is loaded to create the texture
       *
       * @property source
       * @type Image
       */
      this.source = source;
  
      if(!source)return;
  
      if('complete' in this.source)
      {
          if(this.source.complete)
          {
              this.hasLoaded = true;
              this.width = this.source.width;
              this.height = this.source.height;
  
              globals.texturesToUpdate.push(this);
          }
          else
          {
  
              var scope = this;
              this.source.onload = function() {
  
                  scope.hasLoaded = true;
                  scope.width = scope.source.width;
                  scope.height = scope.source.height;
  
                  // add it to somewhere...
                  globals.texturesToUpdate.push(scope);
                  scope.dispatchEvent( { type: 'loaded', content: scope } );
              };
              //this.image.src = imageUrl;
          }
      }
      else
      {
          this.hasLoaded = true;
          this.width = this.source.width;
          this.height = this.source.height;
  
          globals.texturesToUpdate.push(this);
      }
  
      this.imageUrl = null;
      this._powerOf2 = false;
  }