cleanup two column panning

It's important for us to take maring into account because rouding error
can force us to skip right marging. However, this shouldn't be done
when not in pan_by_page mode, so this diff is artifically large
pull/2/merge
Dobrica Pavlinusic 12 years ago
parent 7f620c6374
commit b1ffb5af7e

@ -581,31 +581,32 @@ function UniReader:inputloop()
local old_offset_y = self.offset_y local old_offset_y = self.offset_y
if ev.code == KEY_FW_LEFT then if ev.code == KEY_FW_LEFT then
print("# KEY_FW_LEFT "..self.offset_x.." + "..x.." > 0");
self.offset_x = self.offset_x + x self.offset_x = self.offset_x + x
if self.offset_x > 0 then if self.pan_by_page then
self.offset_x = 0 if self.offset_x > 0 and self.pageno > 1 then
if self.pan_by_page and self.pageno > 1 then
self.offset_x = self.pan_x self.offset_x = self.pan_x
self.offset_y = self.min_offset_y -- bottom self.offset_y = self.min_offset_y -- bottom
self:goto(self.pageno - 1) self:goto(self.pageno - 1)
else
self.offset_y = self.min_offset_y
end end
end elseif self.offset_x > 0 then
if self.pan_by_page then self.offset_x = 0
self.offset_y = self.min_offset_y
end end
elseif ev.code == KEY_FW_RIGHT then elseif ev.code == KEY_FW_RIGHT then
print("# FW RIGHT "..self.offset_x.." - "..x.." < "..self.min_offset_x); print("# KEY_FW_RIGHT "..self.offset_x.." - "..x.." < "..self.min_offset_x);
self.offset_x = self.offset_x - x self.offset_x = self.offset_x - x
if self.offset_x < self.min_offset_x then if self.pan_by_page then
self.offset_x = self.min_offset_x if self.offset_x < self.min_offset_x - self.pan_margin and self.pageno < self.doc:getPages() then
if self.pan_by_page and self.pageno < self.doc:getPages() then
self.offset_x = self.pan_x self.offset_x = self.pan_x
self.offset_y = self.pan_y self.offset_y = self.pan_y
self:goto(self.pageno + 1) self:goto(self.pageno + 1)
else
self.offset_y = self.pan_y
end end
end elseif self.offset_x < self.min_offset_x then
if self.pan_by_page then self.offset_x = self.min_offset_x
self.offset_y = self.pan_y
end end
elseif ev.code == KEY_FW_UP then elseif ev.code == KEY_FW_UP then
self.offset_y = self.offset_y + y self.offset_y = self.offset_y + y

Loading…
Cancel
Save