2013-10-18 22:38:07 +02:00
|
|
|
local EventListener = require("ui/widget/eventlistener")
|
2013-03-12 20:28:01 +08:00
|
|
|
|
2013-10-18 22:38:07 +02:00
|
|
|
local ReaderHinting = EventListener:new{
|
2014-03-13 21:52:43 +08:00
|
|
|
hinting_states = {}
|
2013-03-12 20:28:01 +08:00
|
|
|
}
|
|
|
|
|
|
2013-09-14 15:27:11 +08:00
|
|
|
function ReaderHinting:onHintPage()
|
2014-03-13 21:52:43 +08:00
|
|
|
if not self.view.hinting then return true end
|
|
|
|
|
for i=1, DHINTCOUNT do
|
|
|
|
|
if self.view.state.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
|
2013-09-14 15:27:11 +08:00
|
|
|
end
|
|
|
|
|
|
2013-03-12 20:28:01 +08:00
|
|
|
function ReaderHinting:onSetHinting(hinting)
|
2014-03-13 21:52:43 +08:00
|
|
|
self.view.hinting = hinting
|
2013-03-12 20:28:01 +08:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function ReaderHinting:onDisableHinting()
|
2014-03-13 21:52:43 +08:00
|
|
|
table.insert(self.hinting_states, self.view.hinting)
|
|
|
|
|
self.view.hinting = false
|
|
|
|
|
return true
|
2013-03-12 20:28:01 +08:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function ReaderHinting:onRestoreHinting()
|
2014-03-13 21:52:43 +08:00
|
|
|
self.view.hinting = table.remove(self.hinting_states)
|
|
|
|
|
return true
|
2013-09-14 15:27:11 +08:00
|
|
|
end
|
2013-10-18 22:38:07 +02:00
|
|
|
|
|
|
|
|
return ReaderHinting
|