anchor.diff:  class BackgroundImage {
     final BackgroundFit fit;
     final BackgroundRepeat repeat;
  +  final sky.ColorFilter colorFilter;
  +
     BackgroundImage({
       Future<sky.Image> image,
       this.fit: BackgroundFit.scaleDown,
  -    this.repeat: BackgroundRepeat.noRepeat
  +    this.repeat: BackgroundRepeat.noRepeat,
  +    this.colorFilter
     }) {
       image.then((resolvedImage) {
         if (resolvedImage == null)
  
positive.code:   }
  
    void _paintBackgroundImage(sky.Canvas canvas, Rect rect) {
      if (_decoration.backgroundImage == null)
        return;
      sky.Image image = _decoration.backgroundImage.image;
      if (image != null) {
        Size bounds = rect.size;
        Size imageSize = _decoration.backgroundImage._size;
        Size src;
        Size dst;
        switch(_decoration.backgroundImage.fit) {
          case BackgroundFit.fill:
            src = imageSize;
            dst = bounds;
  
negative.code:           }
            break;
        }
        Paint paint = new Paint();
        if (backgroundImage.colorFilter != null)
          paint.setColorFilter(backgroundImage.colorFilter);
        canvas.drawImageRect(image, Point.origin & src, rect.topLeft & dst, paint);
      }
    }
  
  