mod: record self.globalzoom_orig to help zoom in/out

see: https://github.com/hwhw/kindlepdfviewer/issues/24
pull/2/merge
Qingping Hou 12 years ago
parent e4e0eb45ee
commit f370842a88

@ -46,7 +46,9 @@ function DJVUReader:setzoom(page)
end
dc:setZoom(self.globalzoom)
-- record globalzoom for manual zoom in/out
self.globalzoom_orig = self.globalzoom
dc:setRotate(self.globalrotate);
dc:setOffset(self.offset_x, self.offset_y)
self.fullwidth, self.fullheight = page:getSize(dc)

@ -86,7 +86,11 @@ function PDFReader:setzoom(page)
self.pan_y = self.offset_y
self.pan_by_page = true
end
dc:setZoom(self.globalzoom)
-- record globalzoom for manual zoom in/out
self.globalzoom_orig = self.globalzoom
dc:setRotate(self.globalrotate);
dc:setOffset(self.offset_x, self.offset_y)
self.fullwidth, self.fullheight = page:getSize(dc)

@ -21,6 +21,7 @@ UniReader = {
-- zoom state:
globalzoom = 1.0,
globalzoom_orig = 1.0,
globalzoommode = -1, -- ZOOM_FIT_TO_PAGE
globalrotate = 0,
@ -295,9 +296,9 @@ function UniReader:inputloop()
local secs, usecs = util.gettime()
if ev.code == KEY_PGFWD or ev.code == KEY_LPGFWD then
if Keys.shiftmode then
self:setglobalzoom(self.globalzoom+0.2)
self:setglobalzoom(self.globalzoom+self.globalzoom_orig*0.2)
elseif Keys.altmode then
self:setglobalzoom(self.globalzoom+0.1)
self:setglobalzoom(self.globalzoom+self.globalzoom_orig*0.1)
else
if self.pan_by_page then
self.offset_x = self.pan_x
@ -307,9 +308,9 @@ function UniReader:inputloop()
end
elseif ev.code == KEY_PGBCK or ev.code == KEY_LPGBCK then
if Keys.shiftmode then
self:setglobalzoom(self.globalzoom-0.2)
self:setglobalzoom(self.globalzoom-self.globalzoom_orig*0.2)
elseif Keys.altmode then
self:setglobalzoom(self.globalzoom-0.1)
self:setglobalzoom(self.globalzoom-self.globalzoom_orig*0.1)
else
if self.pan_by_page then
self.offset_x = self.pan_x

Loading…
Cancel
Save