anchor.diff:    core.Coordinate _mouseLocation;
     bool _frameRequested = false;
   
  -  factory QrDemo(CanvasElement canvas) {
  -    final minDimension = Math.min(canvas.width, canvas.height);
  -
  -    final scale = minDimension ~/ size;
  -
  -    final offset = (minDimension - (scale * size)) ~/ 2;
  -
  -    return new QrDemo._internal(canvas, scale, offset);
  -  }
  -
  -  QrDemo._internal(this._canvas, this.scale, this.offset) :
  +  QrDemo(this._canvas) :
       _qrMapper = new _QrCalc() {
       _qrMapper.outputChanged.add((args) {
         _squares = _qrMapper.output;
  
positive.code:   core.EventRoot get error() => _qrMapper.error;
  
    void updateValue(String value) {
      _qrMapper.input = value;
    }
  
    void requestFrame(){
  
negative.code:       _ctx = _canvas.context2d;
        _ctx.fillStyle = 'black';
      }
  
      final size = Math.sqrt(_squares.length).toInt();
  
      final minDimension = Math.min(_canvas.width, _canvas.height);
  
      final scale = minDimension ~/ size;
  
      final offset = (minDimension - (scale * size)) ~/ 2;
  
  
      _ctx.clearRect(0, 0, _canvas.width, _canvas.height);
  
  