negative x panning if writing direction is set right to left

so that in right to left writing/drawing system the right part
of the page is drawn first
pull/766/head
chrox 10 years ago
parent 0be62439df
commit d7fa72e46c

@ -644,7 +644,9 @@ function ReaderPaging:onGotoPageRel(diff)
elseif self.zoom_mode:find("width") then
y_pan_off = self.visible_area.h * diff
elseif self.zoom_mode:find("height") then
x_pan_off = self.visible_area.w * diff
-- negative x panning if writing direction is right to left
local direction = self.ui.document.configurable.writing_direction
x_pan_off = self.visible_area.w * diff * (direction == 1 and -1 or 1)
else
-- must be fit content or page zoom mode
if self.visible_area.w == self.page_area.w then

@ -459,11 +459,17 @@ function ReaderView:recalculate()
self.state.page,
self.state.zoom,
self.state.rotation)
-- starts from left top of page_area
self.visible_area.x = self.page_area.x
self.visible_area.y = self.page_area.y
-- reset our size
self.visible_area:setSizeTo(self.dimen)
if self.ui.document.configurable.writing_direction == 0 then
-- starts from left top of page_area
self.visible_area.x = self.page_area.x
self.visible_area.y = self.page_area.y
else
-- start from right top of page_area
self.visible_area.x = self.page_area.x + self.page_area.w - self.visible_area.w
self.visible_area.y = self.page_area.y
end
-- and recalculate it according to page size
self.visible_area:offsetWithin(self.page_area, 0, 0)
-- clear dim area

@ -195,7 +195,6 @@ local KoptOptions = {
toggle = {S.LTR, S.RTL, S.TBRTL},
values = {0, 1, 2},
default_value = 0,
advanced = true,
},
{
name = "quality",

Loading…
Cancel
Save