KiteDocLayout
How KiteDocView lays its pages out and how the user moves between them.
Inheritors
Types
All pages in one continuous scrollable strip (lazy: offscreen pages are not composed). Pages fill the cross axis at their natural aspect ratio, or, with fit KitePageFit.PAGE, shrink until the whole page shows. Once the strip rests, prefetchPages pages on each side of the pages on screen draw into the bitmap cache.
One page at a time with snap paging (swipe, or drive programmatically via KiteDocViewState). Each page is letterboxed to fit the viewport.
Exactly one fixed page, letterboxed to fit the viewport. pageIndex counts the pages of the whole document, as io.github.yuroyami.kitepdf.core.KiteDocument.pages does. A reflowable book that is still laying out shows a chapter placeholder until the chapters before the page are laid out, and then the page. An index outside the document shows its nearest page and logs a warning. Navigation does not turn a fixed page.
Two-page spreads: one snap-pager item shows two pages side by side, like an open book. Pages pair in order, (0, 1), (2, 3) and so on, except where the document declares otherwise (#37):