anchor.diff:  
       this.ctx = this.canvas.getContext("2d");
       if(color != null) {
  -      int r = (Math.min(Math.max(color.r, 0.0), 1.0) * 0xff).toInt();
  -      int g = (Math.min(Math.max(color.g, 0.0), 1.0) * 0xff).toInt();
  -      int b = (Math.min(Math.max(color.b, 0.0), 1.0) * 0xff).toInt();
  -      num a = Math.min(Math.max(color.a, 0.0), 1.0);
  -
  -      var fillStyle_orig = ctx.fillStyle;
  -      this.ctx.setFillColorRgb(r, g, b, a);
  -      this.ctx.fillRect(0, 0, this.canvas.width, this.canvas.height);
  -      this.ctx.fillStyle = fillStyle_orig;
  +      this._setColor(color);
       }
   
       this.texture = gl.createTexture();
  
positive.code:         this.canvas.height = nextHighestPowerOfTwo(image.height);
        }
  
        this.ctx.drawImage(image, 0, 0);
        this.refresh(gl);
        completer.complete(this);
      });
  
negative.code: 
      ImageElement image = document.createElement("img");
      image.onLoad.listen((event){
        if (image.width == 0 || image.height == 0) {
          return;
        }
  
        bool isPowerOfTwo(int x) => (x & (x - 1)) == 0x00;
        int nextHighestPowerOfTwo(int x) {
          --x;
  