buildImageWidget method

  1. @override
Widget? buildImageWidget(
  1. BuildMetadata meta,
  2. ImageSource src
)

Builds Image.

Implementation

@override
Widget? buildImageWidget(BuildMetadata meta, ImageSource src) {
  final url = src.url;

  BytesLoader? bytesLoader;
  if (url.startsWith('data:image/svg+xml')) {
    bytesLoader = imageSvgFromDataUri(url);
  } else if (Uri.tryParse(url)?.path.toLowerCase().endsWith('.svg') == true) {
    if (url.startsWith('asset:')) {
      bytesLoader = imageSvgFromAsset(url);
    } else if (url.startsWith('file:')) {
      bytesLoader = imageSvgFromFileUri(url);
    } else {
      bytesLoader = imageSvgFromNetwork(url);
    }
  }

  if (bytesLoader == null) {
    return super.buildImageWidget(meta, src);
  }

  return _buildSvgPicture(meta, src, bytesLoader);
}