MCPcopy Create free account
hub / github.com/YACReader/yacreader / managedPageRange

Method managedPageRange

YACReader/continuous_page_widget.cpp:408–427  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

406}
407
408void ContinuousPageWidget::managedPageRange(int &minPageIndex, int &maxPageIndex) const
409{
410 minPageIndex = 0;
411 maxPageIndex = -1;
412
413 if (!continuousViewModel || continuousViewModel->numPages() <= 0) {
414 return;
415 }
416
417 const int numPages = continuousViewModel->numPages();
418 const int viewportHeight = continuousViewModel->viewportHeight() > 0 ? continuousViewModel->viewportHeight() : height();
419 const int visibleTop = continuousViewModel->scrollY();
420 const int visibleBottom = visibleTop + std::max(0, viewportHeight - 1);
421
422 const int firstVisiblePage = qBound(0, continuousViewModel->pageAtY(visibleTop), numPages - 1);
423 const int lastVisiblePage = qBound(0, continuousViewModel->pageAtY(visibleBottom), numPages - 1);
424
425 minPageIndex = std::max(0, firstVisiblePage - kPrefetchBehind);
426 maxPageIndex = std::min(numPages - 1, lastVisiblePage + kPrefetchAhead);
427}

Callers

nothing calls this directly

Calls 4

viewportHeightMethod · 0.80
scrollYMethod · 0.80
pageAtYMethod · 0.80
numPagesMethod · 0.45

Tested by

no test coverage detected