Merge pull request #395 from tigran123/dim-overlap

Add dim_overlap configurable
This commit is contained in:
Dobrica Pavlinušić
2012-10-08 07:08:11 -07:00
2 changed files with 19 additions and 4 deletions

View File

@@ -183,9 +183,9 @@ function CREReader:goto(pos, is_ignore_jump, pos_type)
self.doc:drawCurrentPage(self.nulldc, fb.bb)
Debug("## self.show_overlap "..self.show_overlap)
if self.show_overlap < 0 then
if self.show_overlap < 0 and self.show_overlap_enable then
fb.bb:dimRect(0,0, width, -self.show_overlap)
elseif self.show_overlap > 0 then
elseif self.show_overlap > 0 and self.show_overlap_enable then
fb.bb:dimRect(0,height - self.show_overlap, width, self.show_overlap)
end
self.show_overlap = 0

View File

@@ -66,6 +66,7 @@ UniReader = {
pan_margin = 5, -- horizontal margin for two-column zoom (in pixels)
pan_overlap_vertical = 30,
show_overlap = 0,
show_overlap_enable = true,
-- the document:
doc = nil,
@@ -985,6 +986,7 @@ function UniReader:loadSettings(filename)
end
self.rcountmax = self.settings:readSetting("rcountmax") or self.rcountmax
self.show_overlap_enable = self.settings:readSetting("show_overlap_enable")
-- other parameters are reader-specific --> @TODO: move to proper place, like loadSpecialSettings()
-- since DJVUReader still has no loadSpecialSettings(), just a quick solution is
@@ -1395,9 +1397,9 @@ function UniReader:show(no)
fb.bb:blitFrom(bb, self.dest_x, self.dest_y, offset_x, offset_y, width, height)
Debug("self.show_overlap", self.show_overlap)
if self.show_overlap < 0 then
if self.show_overlap < 0 and self.show_overlap_enable then
fb.bb:dimRect(0,0, width, self.dest_y - self.show_overlap)
elseif self.show_overlap > 0 then
elseif self.show_overlap > 0 and self.show_overlap_enable then
fb.bb:dimRect(0,self.dest_y + height - self.show_overlap, width, self.show_overlap)
end
self.show_overlap = 0
@@ -2510,6 +2512,19 @@ function UniReader:addAllCommands()
end
end)
self.commands:add(KEY_O, nil, "O",
"toggle showing page overlap areas",
function(unireader)
unireader.show_overlap_enable = not unireader.show_overlap_enable
if unireader.show_overlap_enable then
InfoMessage:inform("Turning overlap ON", nil, 1, MSG_AUX)
else
InfoMessage:inform("Turning overlap OFF", nil, 1, MSG_AUX)
end
self.settings:saveSetting("show_overlap_enable", unireader.show_overlap_enable)
self:redrawCurrentPage()
end)
self.commands:add(KEY_R, MOD_SHIFT, "R",
"set full screen refresh count",
function(unireader)