From 4d7fa2d12f1183a294681a94348042e047160fd4 Mon Sep 17 00:00:00 2001 From: Dobrica Pavlinusic Date: Thu, 8 Mar 2012 00:55:12 +0100 Subject: [PATCH] Alt+Z to toggle bbox cropping --- unireader.lua | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/unireader.lua b/unireader.lua index 82223766e..664e18165 100644 --- a/unireader.lua +++ b/unireader.lua @@ -209,7 +209,7 @@ function UniReader:setzoom(page) if y0 < 0 then y0 = 0 end if y1 > pheight then y1 = pheight end - if self.bbox then + if self.bbox.enabled then print("# ORIGINAL page::getUsedBBox "..x0.."*"..y0.." "..x1.."*"..y1); local bbox = self.bbox[self.pageno] -- exact @@ -433,7 +433,7 @@ function UniReader:goto(no) if no < self.doc:getPages() then if self.globalzoommode ~= self.ZOOM_BY_VALUE then - if #self.bbox == 0 then + if #self.bbox == 0 or not self.bbox.enabled then -- pre-cache next page, but if we will modify bbox don't! self:draworcache(no+1,self.globalzoommode,self.offset_x,self.offset_y,width,height,self.globalgamma,self.globalrotate) end @@ -702,11 +702,15 @@ function UniReader:inputloop() bbox["y1"] = bbox["y0"] + height / self.globalzoom self.bbox[self.pageno] = bbox self.bbox[self:odd_even(self.pageno)] = bbox + self.bbox.enabled = true print("# bbox " .. self.pageno .. dump(self.bbox)) self.globalzoommode = self.ZOOM_FIT_TO_CONTENT -- use bbox elseif ev.code == KEY_Z and Keys.shiftmode then self.bbox[self.pageno] = nil; print("# bbox remove "..self.pageno .. dump(self.bbox)); + elseif ev.code == KEY_Z and Keys.altmode then + self.bbox.enabled = not self.bbox.enabled; + print("# bbox override "..self.bbox.enabled); end -- switch to ZOOM_BY_VALUE to enable panning on fiveway move