image property

ImageProvider<Object>? get image

Implementation

ImageProvider? get image {
  if (_image != null) return _image;
  for (CSSFunctionalNotation method in functions) {
    if (method.name == 'url') {
      String url = method.args.isNotEmpty ? method.args[0] : '';
      if (url.isEmpty) {
        continue;
      }
      // Method may contain quotation mark, like ['"assets/foo.png"']
      url = removeQuotationMark(url);

      Uri uri = Uri.parse(url);
      if (url.isNotEmpty) {
        final String base = baseHref ?? controller.url;

        uri = controller.uriParser!.resolve(Uri.parse(base), uri);
        FlutterView ownerFlutterView = controller.ownerFlutterView!;

        return _image = BoxFitImage(
          boxFit: renderStyle.backgroundSize.fit,
          url: uri,
          contextId: controller.view.contextId,
          targetElementPtr: renderStyle.target.pointer!,
          loadImage: _obtainImage,
          onImageLoad: _handleBitFitImageLoad,
          devicePixelRatio: ownerFlutterView.devicePixelRatio);
      }
    }
  }

  return null;
}