anchor.diff:      markNeedsPaint();
     }
   
  +  final Paint _paint = new Paint()..isAntiAlias = false;
  +
     void paint(PaintingCanvas canvas, Offset offset) {
       if (child != null) {
         Rect rect = offset & size;
  -      canvas.saveLayer(rect, new Paint());
  +      canvas.saveLayer(rect, _paint);
         sky.RRect rrect = new sky.RRect()..setRectXY(rect, xRadius, yRadius);
         canvas.clipRRect(rrect);
         canvas.paintChild(child, offset.toPoint());
  
positive.code:     if (_cachedPaint == null) {
        _cachedPaint =  new Paint()
          ..color = new Color.fromARGB(_alpha, 0, 0, 0)
          ..setTransferMode(sky.TransferMode.srcOver);
      }
      return _cachedPaint;
    }
  
negative.code:   Paint get _paint {
      if (_cachedPaint == null) {
        _cachedPaint = new Paint()
          ..setColorFilter(new sky.ColorFilter.mode(_color, _transferMode))
          ..isAntiAlias = false;
      }
      return _cachedPaint;
    }
  