|
|
|
@ -714,7 +714,7 @@ function ReaderPaging:onUpdateScrollPageGamma(gamma)
|
|
|
|
|
return true
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function ReaderPaging:getNextPageState(blank_area, offset)
|
|
|
|
|
function ReaderPaging:getNextPageState(blank_area, image_offset)
|
|
|
|
|
local page_area = self.view:getPageArea(
|
|
|
|
|
self.view.state.page,
|
|
|
|
|
self.view.state.zoom,
|
|
|
|
@ -722,21 +722,25 @@ function ReaderPaging:getNextPageState(blank_area, offset)
|
|
|
|
|
local visible_area = Geom:new{x = 0, y = 0}
|
|
|
|
|
visible_area.w, visible_area.h = blank_area.w, blank_area.h
|
|
|
|
|
visible_area.x, visible_area.y = page_area.x, page_area.y
|
|
|
|
|
visible_area = visible_area:shrinkInside(page_area, offset.x, offset.y)
|
|
|
|
|
visible_area = visible_area:shrinkInside(page_area, image_offset.x, image_offset.y)
|
|
|
|
|
-- shrink blank area by the height of visible area
|
|
|
|
|
blank_area.h = blank_area.h - visible_area.h
|
|
|
|
|
local page_offset = Geom:new{x = self.view.state.offset.x, y = 0}
|
|
|
|
|
if blank_area.w > page_area.w then
|
|
|
|
|
page_offset:offsetBy((blank_area.w - page_area.w) / 2, 0)
|
|
|
|
|
end
|
|
|
|
|
return {
|
|
|
|
|
page = self.view.state.page,
|
|
|
|
|
zoom = self.view.state.zoom,
|
|
|
|
|
rotation = self.view.state.rotation,
|
|
|
|
|
gamma = self.view.state.gamma,
|
|
|
|
|
offset = Geom:new{ x = self.view.state.offset.x, y = 0},
|
|
|
|
|
offset = page_offset,
|
|
|
|
|
visible_area = visible_area,
|
|
|
|
|
page_area = page_area,
|
|
|
|
|
}
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function ReaderPaging:getPrevPageState(blank_area, offset)
|
|
|
|
|
function ReaderPaging:getPrevPageState(blank_area, image_offset)
|
|
|
|
|
local page_area = self.view:getPageArea(
|
|
|
|
|
self.view.state.page,
|
|
|
|
|
self.view.state.zoom,
|
|
|
|
@ -745,15 +749,19 @@ function ReaderPaging:getPrevPageState(blank_area, offset)
|
|
|
|
|
visible_area.w, visible_area.h = blank_area.w, blank_area.h
|
|
|
|
|
visible_area.x = page_area.x
|
|
|
|
|
visible_area.y = page_area.y + page_area.h - visible_area.h
|
|
|
|
|
visible_area = visible_area:shrinkInside(page_area, offset.x, offset.y)
|
|
|
|
|
visible_area = visible_area:shrinkInside(page_area, image_offset.x, image_offset.y)
|
|
|
|
|
-- shrink blank area by the height of visible area
|
|
|
|
|
blank_area.h = blank_area.h - visible_area.h
|
|
|
|
|
local page_offset = Geom:new{x = self.view.state.offset.x, y = 0}
|
|
|
|
|
if blank_area.w > page_area.w then
|
|
|
|
|
page_offset:offsetBy((blank_area.w - page_area.w) / 2, 0)
|
|
|
|
|
end
|
|
|
|
|
return {
|
|
|
|
|
page = self.view.state.page,
|
|
|
|
|
zoom = self.view.state.zoom,
|
|
|
|
|
rotation = self.view.state.rotation,
|
|
|
|
|
gamma = self.view.state.gamma,
|
|
|
|
|
offset = Geom:new{ x = self.view.state.offset.x, y = 0},
|
|
|
|
|
offset = page_offset,
|
|
|
|
|
visible_area = visible_area,
|
|
|
|
|
page_area = page_area,
|
|
|
|
|
}
|
|
|
|
|