anchor.diff:      try {
         _isPainting = true;
         BoxPainter thumbPainter;
  -      final Color thumbColor = isActive ? Color.lerp(inactiveColor, activeColor, currentValue) : inactiveColor;
  -      final ImageProvider thumbImage = isActive ? (currentValue < 0.5 ? inactiveThumbImage : activeThumbImage) : inactiveThumbImage;
         if (_cachedThumbPainter == null || thumbColor != _cachedThumbColor || thumbImage != _cachedThumbImage) {
           _cachedThumbColor = thumbColor;
           _cachedThumbImage = thumbImage;
  
positive.code: /// the switch changes, the widget calls the [onChanged] callback. Most widgets
  /// that use a switch will listen for the [onChanged] callback and rebuild the
  /// switch with a new [value] to update the visual appearance of the switch.
  ///
  /// Requires one of its ancestors to be a [Material] widget.
  ///
  
negative.code:   @override
    void paint(PaintingContext context, Offset offset) {
      final Canvas canvas = context.canvas;
      final bool isEnabled = onChanged != null;
      final double currentValue = position.value;
  
      double visualPosition;
  