Fix page turning at last page

This commit is contained in:
2025-10-22 19:25:55 +02:00
parent a42896f612
commit 985a7705dc

View File

@@ -291,7 +291,7 @@ class PaintablePages extends StatelessWidget {
class Pages extends StatelessWidget { class Pages extends StatelessWidget {
final PdfDocument document; final PdfDocument document;
final int numPages; final int numPages;
final int currentPageNumber; final int currentPageNumber; // Starts at 1
final Config config; final Config config;
const Pages({ const Pages({
@@ -362,7 +362,12 @@ class Pages extends StatelessWidget {
(Size, Size?) calcPageSizesScaled(Size parentSize) { (Size, Size?) calcPageSizesScaled(Size parentSize) {
if (config.twoPageMode) { if (config.twoPageMode) {
Size leftPageSizeUnscaled = _getPageSizeUnscaled(currentPageNumber); Size leftPageSizeUnscaled = _getPageSizeUnscaled(currentPageNumber);
Size rightPageSizeUnscaled = _getPageSizeUnscaled(currentPageNumber + 1); Size rightPageSizeUnscaled;
if (numPages > currentPageNumber) {
rightPageSizeUnscaled = _getPageSizeUnscaled(currentPageNumber + 1);
} else {
rightPageSizeUnscaled = leftPageSizeUnscaled;
}
Size combinedPageSizesUnscaled = Size( Size combinedPageSizesUnscaled = Size(
leftPageSizeUnscaled.width + rightPageSizeUnscaled.width, leftPageSizeUnscaled.width + rightPageSizeUnscaled.width,
max(leftPageSizeUnscaled.height, rightPageSizeUnscaled.height), max(leftPageSizeUnscaled.height, rightPageSizeUnscaled.height),
@@ -389,7 +394,7 @@ class Pages extends StatelessWidget {
} }
Size _getPageSizeUnscaled(int pageNumber) { Size _getPageSizeUnscaled(int pageNumber) {
return document.pages.elementAt(pageNumber).size; return document.pages.elementAt(pageNumber - 1).size;
} }
Size _calcScaledPageSize(Size parentSize, Size pageSize) { Size _calcScaledPageSize(Size parentSize, Size pageSize) {