previousPage method

void previousPage()

Previous page.

Implementation

void previousPage() {
  if (_paged) {
    if (_pageInChapter > 0) {
      _goToPageInChapter(_pageInChapter - 1);
    } else if (_hasPreviousChapter) {
      unawaited(_loadChapter(_controller.value.pageIndex - 1, atEnd: true));
    }
    return;
  }
  if (!_scroll.hasClients) return;
  if (_scroll.offset <= 2) {
    if (_hasPreviousChapter) unawaited(_loadChapter(_controller.value.pageIndex - 1, atEnd: true));
    return;
  }
  final double viewport = _scroll.position.viewportDimension;
  unawaited(_scroll.animateTo((_scroll.offset - viewport * 0.85).clamp(0, _scroll.position.maxScrollExtent).toDouble(), duration: const Duration(milliseconds: 240), curve: Curves.easeOut));
}