mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
bugfix: restore original zoom mode after cropping
This commit is contained in:
@@ -45,10 +45,10 @@ function BBoxWidget:screen_to_page()
|
||||
local scale = self.crop.zoom
|
||||
local screen_offset = self.crop.screen_offset
|
||||
DEBUG("screen offset in screen_to_page", screen_offset)
|
||||
bbox.x0 = self.screen_bbox.x0 / scale - screen_offset.x
|
||||
bbox.y0 = self.screen_bbox.y0 / scale - screen_offset.y
|
||||
bbox.x1 = self.screen_bbox.x1 / scale - screen_offset.x
|
||||
bbox.y1 = self.screen_bbox.y1 / scale - screen_offset.y
|
||||
bbox.x0 = (self.screen_bbox.x0 - screen_offset.x) / scale
|
||||
bbox.y0 = (self.screen_bbox.y0 - screen_offset.y) / scale
|
||||
bbox.x1 = (self.screen_bbox.x1 - screen_offset.x) / scale
|
||||
bbox.y1 = (self.screen_bbox.y1 - screen_offset.y) / scale
|
||||
return bbox
|
||||
end
|
||||
|
||||
|
||||
@@ -7,7 +7,10 @@ function ReaderCropping:onPageCrop(mode)
|
||||
local orig_reflow_mode = self.document.configurable.text_wrap
|
||||
self.document.configurable.text_wrap = 0
|
||||
self.ui:handleEvent(Event:new("CloseConfig"))
|
||||
self.cropping_zoommode = true
|
||||
self.cropping_offset = true
|
||||
self.ui:handleEvent(Event:new("SetZoomMode", "page"))
|
||||
self.cropping_zoommode = false
|
||||
local ubbox = self.document:getPageBBox(self.current_page)
|
||||
--DEBUG("used page bbox", ubbox)
|
||||
self.crop_bbox = BBoxWidget:new{
|
||||
@@ -34,12 +37,15 @@ function ReaderCropping:onZoomUpdate(zoom)
|
||||
end
|
||||
|
||||
function ReaderCropping:onScreenOffsetUpdate(screen_offset)
|
||||
--DEBUG("offset updated to", screen_offset)
|
||||
self.screen_offset = screen_offset
|
||||
if self.cropping_offset then
|
||||
DEBUG("offset updated to", screen_offset)
|
||||
self.screen_offset = screen_offset
|
||||
self.cropping_offset = false
|
||||
end
|
||||
end
|
||||
|
||||
function ReaderCropping:onSetZoomMode(mode)
|
||||
if self.orig_zoom_mode == nil then
|
||||
if not self.cropping_zoommode then
|
||||
--DEBUG("backup zoom mode", mode)
|
||||
self.orig_zoom_mode = mode
|
||||
end
|
||||
@@ -48,7 +54,7 @@ end
|
||||
function ReaderCropping:onReadSettings(config)
|
||||
local bbox = config:readSetting("bbox")
|
||||
self.document.bbox = bbox
|
||||
DEBUG("read document bbox", self.document.bbox)
|
||||
--DEBUG("read document bbox", self.document.bbox)
|
||||
end
|
||||
|
||||
function ReaderCropping:onCloseDocument()
|
||||
|
||||
Reference in New Issue
Block a user