add DHINTCOUNT in defaults.lua

It controls how many number of pages will be hinted in background
after one page has been drawn. Default DHINTCOUNT is 2.
This commit is contained in:
chrox
2013-09-14 15:27:11 +08:00
parent f2cf10a015
commit 979d4c5d48
5 changed files with 23 additions and 16 deletions

View File

@@ -1,7 +1,11 @@
-- number of page turns between full screen refresh
-- default to full refresh on every page turn
-- default to do a full refresh on every 6 page turns
DRCOUNTMAX = 6
-- number of pages for hinting
-- default to pre-rendering 2 pages
DHINTCOUNT = 2
-- full screen mode, 1 for true, 0 for false
DFULL_SCREEN = 1

View File

@@ -3,6 +3,21 @@ ReaderHinting = EventListener:new{
hinting_states = {}
}
function ReaderHinting:onHintPage()
if not self.view.hinting then return true end
for i=1, DHINTCOUNT do
if self.zoom.current_page + i <= self.ui.document.info.number_of_pages then
self.ui.document:hintPage(
self.view.state.page + i,
self.zoom:getZoom(self.view.state.page + i),
self.view.state.rotation,
self.view.state.gamma,
self.view.render_mode)
end
end
return true
end
function ReaderHinting:onSetHinting(hinting)
self.view.hinting = hinting
end
@@ -16,4 +31,4 @@ end
function ReaderHinting:onRestoreHinting()
self.view.hinting = table.remove(self.hinting_states)
return true
end
end

View File

@@ -161,19 +161,6 @@ function ReaderZooming:onReZoom()
return true
end
function ReaderZooming:onHintPage()
if not self.view.hinting then return true end
if self.current_page < self.ui.document.info.number_of_pages then
self.ui.document:hintPage(
self.view.state.page + 1,
self:getZoom(self.view.state.page + 1),
self.view.state.rotation,
self.view.state.gamma,
self.view.render_mode)
end
return true
end
function ReaderZooming:getZoom(pageno)
-- check if we're in bbox mode and work on bbox if that's the case
local zoom = nil

View File

@@ -173,6 +173,7 @@ function ReaderUI:init()
-- hinting controller
local hinter = ReaderHinting:new{
dialog = self.dialog,
zoom = zoomer,
view = self[1],
ui = self,
document = self.document,