bump crengine: adds support for dpi-based css units (#4040)

Adds a new toggle to the bottom menu: Zoom (dpi), which
allows for scaling CSS absolute units and image sizes.
This commit is contained in:
poire-z
2018-07-03 07:05:57 +02:00
committed by GitHub
parent ecd7b5b413
commit d8e58a08fd
6 changed files with 54 additions and 8 deletions

View File

@@ -49,6 +49,14 @@ function ReaderTypeset:onReadSettings(config)
end
self.ui.document:setEmbeddedStyleSheet(self.embedded_css and 1 or 0)
-- set render DPI
self.render_dpi = config:readSetting("render_dpi") or
G_reader_settings:readSetting("copt_render_dpi") or 96
self:setRenderDPI(self.render_dpi)
-- uncomment if we want font size to follow DPI changes
-- self.ui.document:setRenderScaleFontWithDPI(1)
-- set page margins
self:onSetPageMargins(
config:readSetting("copt_page_margins") or
@@ -74,6 +82,7 @@ function ReaderTypeset:onSaveSettings()
self.ui.doc_settings:saveSetting("embedded_css", self.embedded_css)
self.ui.doc_settings:saveSetting("floating_punctuation", self.floating_punctuation)
self.ui.doc_settings:saveSetting("embedded_fonts", self.embedded_fonts)
self.ui.doc_settings:saveSetting("render_dpi", self.render_dpi)
end
function ReaderTypeset:onToggleEmbeddedStyleSheet(toggle)
@@ -102,6 +111,11 @@ local OBSOLETED_CSS = {
"txt.css",
}
function ReaderTypeset:onSetRenderDPI(dpi)
self:setRenderDPI(dpi)
return true
end
function ReaderTypeset:genStyleSheetMenu()
local getStyleMenuItem = function(text, css_file, separator)
return {
@@ -251,6 +265,12 @@ function ReaderTypeset:toggleTxtPreFormatted(toggle)
self.ui:handleEvent(Event:new("UpdatePos"))
end
function ReaderTypeset:setRenderDPI(dpi)
self.render_dpi = dpi
self.ui.document:setRenderDPI(dpi)
self.ui:handleEvent(Event:new("UpdatePos"))
end
function ReaderTypeset:addToMainMenu(menu_items)
-- insert table to main reader menu
menu_items.set_render_style = {