pan_margin is really in screen pixels

I don't know what I was thinking when implementing this code. If I
modify it with global zoom, it keeps moving, as we zoom in on multiple
key presses
pull/2/merge
Dobrica Pavlinusic 12 years ago
parent 17a590cf5a
commit 5492025a38

@ -54,7 +54,7 @@ UniReader = {
pan_by_page = false, -- using shift_[xy] or width/height
pan_x = 0, -- top-left offset of page when pan activated
pan_y = 0,
pan_margin = 20, -- horizontal margin for two-column zoom
pan_margin = 5, -- horizontal margin for two-column zoom (in pixels)
pan_overlap_vertical = 30,
show_overlap = 0,
@ -1260,13 +1260,11 @@ function UniReader:setzoom(page, preCache)
or self.globalzoom_mode == self.ZOOM_FIT_TO_CONTENT_HALF_WIDTH_MARGIN then
local margin = self.pan_margin
if self.globalzoom_mode == self.ZOOM_FIT_TO_CONTENT_HALF_WIDTH then margin = 0 end
local pg_margin = 0 -- margin scaled to page size
if margin > 0 then pg_margin = margin * 2 / self.globalzoom end
self.globalzoom = width / (x1 - x0 + pg_margin)
self.globalzoom = width / (x1 - x0 + margin)
self.offset_x = -1 * x0 * self.globalzoom * 2 + margin
self.globalzoom = height / (y1 - y0 + pg_margin)
self.globalzoom = height / (y1 - y0 + margin)
self.offset_y = -1 * y0 * self.globalzoom * 2 + margin
self.globalzoom = width / (x1 - x0 + pg_margin) * 2
self.globalzoom = width / (x1 - x0 + margin) * 2
debug("column mode offset:", self.offset_x, self.offset_y, " zoom:", self.globalzoom);
self.globalzoom_mode = self.ZOOM_BY_VALUE -- enable pan mode
self.pan_x = self.offset_x

Loading…
Cancel
Save