mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
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
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user