add readerconfig to document supported by crengine

* now font size can be changed by readerconfig
pull/2/merge
Qingping Hou 12 years ago
parent ba00dcc701
commit fdc05b066c

@ -1,4 +1,5 @@
require "ui/geometry"
require "ui/creoptions"
CreDocument = Document:new{
-- this is defined in kpvcrlib/crengine/crengine/include/lvdocview.h
@ -10,6 +11,8 @@ CreDocument = Document:new{
line_space_percent = 100,
default_font = "Droid Sans Fallback",
options = CreOptions,
configurable = Configurable,
}
-- NuPogodi, 20.05.12: inspect the zipfile content
@ -54,6 +57,7 @@ end
function CreDocument:init()
self:engineInit()
self.configurable:loadDefaults(self.options)
local ok
local file_type = string.lower(string.match(self.file, ".+%.([^.]+)"))
@ -83,6 +87,7 @@ function CreDocument:init()
self.is_open = true
self.info.has_pages = false
self:_readMetadata()
self.info.configurable = true
-- @TODO read line_space_percent from setting file 12.06 2012 (houqp)
--self._document:setDefaultInterlineSpace(self.line_space_percent)

@ -0,0 +1,21 @@
CreOptions = {
prefix = 'copt',
default_options = {
},
{
icon = "resources/icons/appbar.text.size.large.png",
options = {
{
name = "font_size",
item_text = {"Aa", "Aa", "Aa", "Aa", "Aa", "Aa", "Aa", "Aa"},
item_align_center = 1.0,
spacing = Screen:getWidth()*0.03,
item_font_size = {18, 20, 22, 24, 29, 33, 39, 44},
values = {18, 20, 22, 24, 29, 33, 39, 44},
default_value = 1,
event = "SetFontSize",
},
}
},
}

@ -110,6 +110,17 @@ function ReaderFont:onChangeSize(direction)
return true
end
function ReaderFont:onSetFontSize(new_size)
if new_size > 44 then new_size = 44 end
if new_size < 18 then new_size = 18 end
self.font_size = new_size
self.ui.document:setFontSize(new_size)
self.ui:handleEvent(Event:new("UpdatePos"))
return true
end
function ReaderFont:onChangeLineSpace(direction)
if direction == "decrease" then
self.line_space_percent = self.line_space_percent - 10

@ -19,10 +19,10 @@ function ReaderRolling:init()
GestureRange:new{
ges = "tap",
range = Geom:new{
x = Screen:getWidth()/2,
y = Screen:getHeight()/2,
w = Screen:getWidth(),
h = Screen:getHeight()
x = Screen:getWidth()/4,
y = Screen:getHeight()/4,
w = 3*Screen:getWidth()/4,
h = 5*Screen:getHeight()/8,
}
}
},
@ -31,9 +31,9 @@ function ReaderRolling:init()
ges = "tap",
range = Geom:new{
x = 0,
y = Screen:getHeight()/2,
w = Screen:getWidth()/2,
h = Screen:getHeight()/2,
y = Screen:getHeight()/4,
w = Screen:getWidth()/4,
h = 5*Screen:getHeight()/8,
}
}
}

Loading…
Cancel
Save