anchor.diff:      // fix a bug in current chrome v.27
       _canvas.onDragStart.listen((HTML.MouseEvent event){ event.preventDefault(); });
   
  -    _canvas.width = HTML.window.innerWidth; 
  -    _canvas.height = HTML.window.innerHeight;
  -    _aspect = _canvas.width / _canvas.height;
  +    _canvas.width = _canvas.clientWidth; 
  +    _canvas.height = _canvas.clientHeight;
  +    _aspect = _canvas.clientWidth / _canvas.clientHeight;
       gl = _canvas.getContext("experimental-webgl");
       if( gl == null) {
         throw new Exception('calling canvas.getContext("experimental-webgl") failed, make sure you run on a computer that supports WebGL, test here: http://get.webgl.org/');
  
positive.code:       gl.bindFramebuffer( FRAMEBUFFER, fxFramebuffer.framebuffer);
      }
      
      //print("setting viewport ${canvas.clientWidth} x ${canvas.clientHeight}");
      _canvas.width = HTML.window.innerWidth; 
      _canvas.height = HTML.window.innerHeight;
      gl.viewport(0, 0, _canvas.width, _canvas.height);
      _pMatrix.setPerspective(50, _canvas.width.toDouble() / _canvas.height, near, far);
  
      gl.enable(DEPTH_TEST);
      gl.depthFunc(LEQUAL);
      gl.clearDepth(1.0);
  
      for( ShaderProgram prg in programs.values)
      {
  
negative.code:       
    }
    
    int _lastWidth = 0;
    int _lastHeight = 0;
    
    void draw()
    {
     
  