2024-12-17 13:01:44 +08:00
parent b49e0974ab
commit ab3953292b
2 changed files with 11 additions and 5 deletions

View File

@@ -27,10 +27,8 @@ abstract class BaseImageProvider<T extends BaseImageProvider<T>>
screen.size.height * _normalComicImageRatio, screen.size.height * _normalComicImageRatio,
); );
} else { } else {
_effectiveScreenWidth = max( _effectiveScreenWidth =
_effectiveScreenWidth ?? 0, max(_effectiveScreenWidth ?? 0, screen.size.width);
screen.size.width
);
} }
} }
if (_effectiveScreenWidth! < _minComicImageWidth) { if (_effectiveScreenWidth! < _minComicImageWidth) {
@@ -110,7 +108,10 @@ abstract class BaseImageProvider<T extends BaseImageProvider<T>>
try { try {
final buffer = await ImmutableBuffer.fromUint8List(data); final buffer = await ImmutableBuffer.fromUint8List(data);
return await decode(buffer, getTargetSize: _getTargetSize); return await decode(
buffer,
getTargetSize: enableResize ? _getTargetSize : null,
);
} catch (e) { } catch (e) {
await CacheManager().delete(this.key); await CacheManager().delete(this.key);
if (data.length < 2 * 1024) { if (data.length < 2 * 1024) {
@@ -151,6 +152,8 @@ abstract class BaseImageProvider<T extends BaseImageProvider<T>>
String toString() { String toString() {
return "$runtimeType($key)"; return "$runtimeType($key)";
} }
bool get enableResize => false;
} }
typedef FileDecoderCallback = Future<ui.Codec> Function(Uint8List); typedef FileDecoderCallback = Future<ui.Codec> Function(Uint8List);

View File

@@ -49,4 +49,7 @@ class ReaderImageProvider
@override @override
String get key => "$imageKey@$sourceKey@$cid@$eid"; String get key => "$imageKey@$sourceKey@$cid@$eid";
@override
bool get enableResize => true;
} }