ReaderPaging: use document:getNext/PrevPage()

instead of doing arithmetic (ie. new_page=cur_page+1).
This makes it ready to work with custom hidden flows
where these document:getNextPage()/getPrevPage() will
be overloaded to skip pages in hidden flows.

Also fix some odd issues (page truncated or with parts
duplicated) with scrolling/page turning when at start
or end of the document.
This commit is contained in:
poire-z
2023-10-08 17:51:37 +02:00
parent 52c45ef6db
commit e6ac74c1df
2 changed files with 57 additions and 14 deletions

View File

@@ -277,13 +277,13 @@ end
function Document:getNextPage(page)
local new_page = page + 1
return (new_page > 0 and new_page < self.info.number_of_pages) and new_page or 0
return (new_page > 0 and new_page <= self.info.number_of_pages) and new_page or 0
end
function Document:getPrevPage(page)
if page == 0 then return self.info.number_of_pages end
local new_page = page - 1
return (new_page > 0 and new_page < self.info.number_of_pages) and new_page or 0
return (new_page > 0 and new_page <= self.info.number_of_pages) and new_page or 0
end
function Document:getTotalPagesLeft(page)