part of 'image_request.dart'; class LocalImageRequest extends ImageRequest { final String localId; final int width; final int height; final AssetType assetType; LocalImageRequest({required this.localId, required ui.Size size, required this.assetType}) : width = size.width.toInt(), height = size.height.toInt(); @override Future load(ImageDecoderCallback decode, {double scale = 1.0}) async { if (_isCancelled) { return null; } final info = await localImageApi.requestImage( localId, requestId: requestId, width: width, height: height, isVideo: assetType == AssetType.video, ); if (info == null) { return null; } final frame = await _fromDecodedPlatformImage(info["pointer"]!, info["width"]!, info["height"]!, info["rowBytes"]!); return frame == null ? null : ImageInfo(image: frame.image, scale: scale); } @override Future _onCancelled() { return localImageApi.cancelRequest(requestId); } }