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 Map info = await thumbnailApi.requestImage( localId, requestId: requestId, width: width, height: height, isVideo: assetType == AssetType.video, ); final frame = await _fromPlatformImage(info); return frame == null ? null : ImageInfo(image: frame.image, scale: scale); } @override Future _onCancelled() { return thumbnailApi.cancelImageRequest(requestId); } }