mirror of
				https://github.com/immich-app/immich.git
				synced 2025-11-04 03:27:09 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			36 lines
		
	
	
		
			926 B
		
	
	
	
		
			Dart
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			926 B
		
	
	
	
		
			Dart
		
	
	
	
	
	
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<ImageInfo?> load(ImageDecoderCallback decode, {double scale = 1.0}) async {
 | 
						|
    if (_isCancelled) {
 | 
						|
      return null;
 | 
						|
    }
 | 
						|
 | 
						|
    final Map<String, int> 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<void> _onCancelled() {
 | 
						|
    return thumbnailApi.cancelImageRequest(requestId);
 | 
						|
  }
 | 
						|
}
 |