anchor.diff:      }
     }
   
  -  @protected
  -  void drawOverride(CanvasRenderingContext2D ctx);
  -
     void invalidateDraw(){
       validateNotDisposed();
       if(_lastDrawSize != null) {
  
positive.code:     _invalidatedEventHandle.fireEvent(EventArgs.empty);
      _parent.childInvalidated(this);
    }
  
    void _setAlpha(CanvasRenderingContext2D ctx) {
      assert(_alpha != null);
      assert(_alpha >= 0);
      assert(_alpha <= 1);
      ctx.globalAlpha = _alpha;
    }
  }
  
negative.code:       _drawInternal(cacheCtx);
      }
  
      ctx.drawImage(this._cacheCanvas, 0, 0);
    }
  
    void _drawNormal(CanvasRenderingContext2D ctx){
      _drawInternal(ctx);
    }
  
    void _drawInternal(CanvasRenderingContext2D ctx) {
  