imageProvider method

  1. @override
Object imageProvider (
  1. ImageSource imgSrc
)

Returns flutter_svg.PictureProvider or ImageProvider.

Implementation

@override
Object imageProvider(ImageSource imgSrc) {
  if (imgSrc == null) return super.imageProvider(imgSrc);
  final url = imgSrc.url;

  if (Uri.tryParse(url)?.path?.toLowerCase()?.endsWith('.svg') == true) {
    return _imageSvgPictureProvider(url);
  }

  if (url.startsWith('data:image/svg+xml')) {
    return _imageSvgMemoryPicture(url);
  }

  if (url.startsWith('http')) {
    return _imageFromUrl(url);
  }

  return super.imageProvider(imgSrc);
}