add pre-rendering in pdf/djvu readers

"HintPage" tasks are scheduled into the execution stack of UIManager
after each page drawing. These tasks should be checked immediately after
screen is refreshed so tasks are double-checked in the main loop.
This commit is contained in:
chrox
2013-01-05 22:28:14 +08:00
parent 3ec818a3cd
commit 12a76fee33
2 changed files with 43 additions and 30 deletions

View File

@@ -50,6 +50,7 @@ function ReaderView:paintTo(bb, x, y)
self.state.zoom,
self.state.rotation,
self.render_mode)
UIManager:scheduleIn(0, function() self.ui:handleEvent(Event:new("HintPage")) end)
else
if self.view_mode == "page" then
self.ui.document:drawCurrentViewByPage(
@@ -162,6 +163,10 @@ function ReaderView:onRotationUpdate(rotation)
self:recalculate()
end
function ReaderView:onHintPage()
self.ui.document:hintPage(self.state.page+1, self.state.zoom, self.state.rotation)
end
function ReaderView:onCloseDocument()
self.ui.doc_settings:saveSetting("render_mode", self.render_mode)
end