chore: Allow custom image resizer to be an async method
This commit is contained in:
parent
03afabd323
commit
e97fe621d6
|
|
@ -104,8 +104,8 @@ class Client extends MatrixApi {
|
||||||
|
|
||||||
final Duration sendTimelineEventTimeout;
|
final Duration sendTimelineEventTimeout;
|
||||||
|
|
||||||
MatrixImageFileResizedResponse? Function(MatrixImageFileResizeArguments)?
|
Future<MatrixImageFileResizedResponse?> Function(
|
||||||
customImageResizer;
|
MatrixImageFileResizeArguments)? customImageResizer;
|
||||||
|
|
||||||
/// Create a client
|
/// Create a client
|
||||||
/// [clientName] = unique identifier of this client
|
/// [clientName] = unique identifier of this client
|
||||||
|
|
|
||||||
|
|
@ -105,7 +105,8 @@ class MatrixImageFile extends MatrixFile {
|
||||||
required String name,
|
required String name,
|
||||||
int maxDimension = 1600,
|
int maxDimension = 1600,
|
||||||
String? mimeType,
|
String? mimeType,
|
||||||
MatrixImageFileResizedResponse? Function(MatrixImageFileResizeArguments)?
|
Future<MatrixImageFileResizedResponse?> Function(
|
||||||
|
MatrixImageFileResizeArguments)?
|
||||||
customImageResizer,
|
customImageResizer,
|
||||||
Future<T> Function<T, U>(FutureOr<T> Function(U arg) function, U arg)?
|
Future<T> Function<T, U>(FutureOr<T> Function(U arg) function, U arg)?
|
||||||
compute}) async {
|
compute}) async {
|
||||||
|
|
@ -115,10 +116,11 @@ class MatrixImageFile extends MatrixFile {
|
||||||
fileName: name,
|
fileName: name,
|
||||||
calcBlurhash: true,
|
calcBlurhash: true,
|
||||||
);
|
);
|
||||||
customImageResizer ??= _resize;
|
final resizedData = customImageResizer != null
|
||||||
final resizedData = compute != null
|
? await customImageResizer(arguments)
|
||||||
? await compute(_resize, arguments)
|
: compute != null
|
||||||
: _resize(arguments);
|
? await compute(_resize, arguments)
|
||||||
|
: _resize(arguments);
|
||||||
|
|
||||||
if (resizedData == null) {
|
if (resizedData == null) {
|
||||||
return MatrixImageFile(bytes: bytes, name: name, mimeType: mimeType);
|
return MatrixImageFile(bytes: bytes, name: name, mimeType: mimeType);
|
||||||
|
|
@ -157,7 +159,8 @@ class MatrixImageFile extends MatrixFile {
|
||||||
/// computes a thumbnail for the image
|
/// computes a thumbnail for the image
|
||||||
Future<MatrixImageFile?> generateThumbnail(
|
Future<MatrixImageFile?> generateThumbnail(
|
||||||
{int dimension = Client.defaultThumbnailSize,
|
{int dimension = Client.defaultThumbnailSize,
|
||||||
MatrixImageFileResizedResponse? Function(MatrixImageFileResizeArguments)?
|
Future<MatrixImageFileResizedResponse?> Function(
|
||||||
|
MatrixImageFileResizeArguments)?
|
||||||
customImageResizer,
|
customImageResizer,
|
||||||
Future<T> Function<T, U>(FutureOr<T> Function(U arg) function, U arg)?
|
Future<T> Function<T, U>(FutureOr<T> Function(U arg) function, U arg)?
|
||||||
compute}) async {
|
compute}) async {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue