ensurePagesLoaded method

Future<void> ensurePagesLoaded(
  1. int centerPage, {
  2. int radius = 5,
})

Ensures fonts for pages in range centerPage ± radius are loaded.

Implementation

Future<void> ensurePagesLoaded(int centerPage, {int radius = 5}) async {
  final futures = <Future<void>>[];
  final start = (centerPage - radius).clamp(1, 604);
  final end = (centerPage + radius).clamp(1, 604);

  for (int p = start; p <= end; p++) {
    if (!_loadedPages.contains(p)) {
      futures.add(_loadPage(p));
    }
  }

  if (futures.isNotEmpty) {
    await Future.wait(futures);
  }
}