getFrame method

Future<Image?> getFrame(
  1. String framePath
)

Implementation

Future<ui.Image?> getFrame(String framePath) async {
  // Si ya está en caché, devolverlo
  if (_cache.containsKey(framePath)) {
    return _cache[framePath];
  }

  // Si ya se está cargando, esperar el resultado
  if (_loadingCache.containsKey(framePath)) {
    return await _loadingCache[framePath];
  }

  // Iniciar carga
  final loadingFuture = _loadFrameFromDisk(framePath);
  _loadingCache[framePath] = loadingFuture;

  final image = await loadingFuture;
  _loadingCache.remove(framePath);

  if (image != null) {
    _cache[framePath] = image;
  }

  return image;
}