|
|
@ -565,7 +565,7 @@ function ReaderPaging:onGotoPercent(percent)
|
|
|
|
if dest > self.number_of_pages then
|
|
|
|
if dest > self.number_of_pages then
|
|
|
|
dest = self.number_of_pages
|
|
|
|
dest = self.number_of_pages
|
|
|
|
end
|
|
|
|
end
|
|
|
|
self:onGotoPage(dest)
|
|
|
|
self:_gotoPage(dest)
|
|
|
|
return true
|
|
|
|
return true
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
@ -575,7 +575,6 @@ function ReaderPaging:onGotoViewRel(diff)
|
|
|
|
else
|
|
|
|
else
|
|
|
|
self:onGotoPageRel(diff)
|
|
|
|
self:onGotoPageRel(diff)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
self.ui:handleEvent(Event:new("PageChangeAnimation", diff > 0))
|
|
|
|
|
|
|
|
self:setPagePosition(self:getTopPage(), self:getTopPosition())
|
|
|
|
self:setPagePosition(self:getTopPage(), self:getTopPosition())
|
|
|
|
return true
|
|
|
|
return true
|
|
|
|
end
|
|
|
|
end
|
|
|
@ -1128,11 +1127,8 @@ function ReaderPaging:_gotoPage(number, orig_mode)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function ReaderPaging:onGotoPage(number, pos)
|
|
|
|
function ReaderPaging:onGotoPage(number, pos)
|
|
|
|
local same_page = number == self.current_page;
|
|
|
|
|
|
|
|
local animation_direction = number > self.current_page;
|
|
|
|
|
|
|
|
self:setPagePosition(number, 0)
|
|
|
|
self:setPagePosition(number, 0)
|
|
|
|
self:_gotoPage(number)
|
|
|
|
self:_gotoPage(number)
|
|
|
|
self.ui:handleEvent(Event:new("PageChangeAnimation", animation_direction))
|
|
|
|
|
|
|
|
if pos then
|
|
|
|
if pos then
|
|
|
|
local rect_p = Geom:new{ x = pos.x or 0, y = pos.y or 0 }
|
|
|
|
local rect_p = Geom:new{ x = pos.x or 0, y = pos.y or 0 }
|
|
|
|
local rect_s = Geom:new(rect_p):copy()
|
|
|
|
local rect_s = Geom:new(rect_p):copy()
|
|
|
@ -1142,7 +1138,7 @@ function ReaderPaging:onGotoPage(number, pos)
|
|
|
|
else
|
|
|
|
else
|
|
|
|
self.view:PanningUpdate(rect_s.x - self.view.visible_area.x, rect_s.y - self.view.visible_area.y)
|
|
|
|
self.view:PanningUpdate(rect_s.x - self.view.visible_area.x, rect_s.y - self.view.visible_area.y)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
elseif same_page then
|
|
|
|
elseif number == self.current_page then
|
|
|
|
-- gotoPage emits this event only if the page changes
|
|
|
|
-- gotoPage emits this event only if the page changes
|
|
|
|
self.ui:handleEvent(Event:new("PageUpdate", self.current_page))
|
|
|
|
self.ui:handleEvent(Event:new("PageUpdate", self.current_page))
|
|
|
|
end
|
|
|
|
end
|
|
|
@ -1161,14 +1157,14 @@ function ReaderPaging:onGotoRelativePage(number)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
new_page = test_page
|
|
|
|
new_page = test_page
|
|
|
|
end
|
|
|
|
end
|
|
|
|
self:onGotoPage(new_page)
|
|
|
|
self:_gotoPage(new_page)
|
|
|
|
return true
|
|
|
|
return true
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function ReaderPaging:onGotoPercentage(percentage)
|
|
|
|
function ReaderPaging:onGotoPercentage(percentage)
|
|
|
|
if percentage < 0 then percentage = 0 end
|
|
|
|
if percentage < 0 then percentage = 0 end
|
|
|
|
if percentage > 1 then percentage = 1 end
|
|
|
|
if percentage > 1 then percentage = 1 end
|
|
|
|
self:onGotoPage(math.floor(percentage*self.number_of_pages))
|
|
|
|
self:_gotoPage(math.floor(percentage*self.number_of_pages))
|
|
|
|
return true
|
|
|
|
return true
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|