generate method
Implementation
Future<Uint8List> generate({
required SnapshotQuality quality,
required Slide slide,
}) async {
final queueKey = shortHashId(slide.raw + quality.name);
try {
while (_generationQueue.length > _maxConcurrentGenerations) {
await Future.delayed(const Duration(milliseconds: 100));
}
_generationQueue.add(queueKey);
final image = await _fromWidgetToImage(
SlideView.snapshot(slide),
context: kAppKey.currentContext!,
pixelRatio: quality.pixelRatio,
targetSize: kResolution,
);
return _imageToUint8List(image);
} catch (e, stackTrace) {
log('Error generating image: $e', stackTrace: stackTrace);
rethrow;
} finally {
_generationQueue.remove(queueKey);
}
}