|
|
|
@ -115,6 +115,7 @@ function CoverImage:createCoverImage(doc_settings)
|
|
|
|
|
if cover_image then
|
|
|
|
|
local cache_file = self:getCacheFile(custom_cover)
|
|
|
|
|
if lfs.attributes(cache_file, "mode") == "file" then
|
|
|
|
|
logger.dbg("CoverImage: cache file already exists")
|
|
|
|
|
ffiutil.copyFile(cache_file, self.cover_image_path)
|
|
|
|
|
lfs.touch(cache_file) -- update date
|
|
|
|
|
return
|
|
|
|
@ -124,6 +125,13 @@ function CoverImage:createCoverImage(doc_settings)
|
|
|
|
|
local i_w, i_h = cover_image:getWidth(), cover_image:getHeight()
|
|
|
|
|
local scale_factor = math.min(s_w / i_w, s_h / i_h)
|
|
|
|
|
|
|
|
|
|
if Screen:getRotationMode() == Screen.DEVICE_ROTATED_UPSIDE_DOWN
|
|
|
|
|
or Screen:getRotationMode() == Screen.DEVICE_ROTATED_COUNTER_CLOCKWISE then
|
|
|
|
|
print("xxxxx rotating")
|
|
|
|
|
cover_image:rotate(180) -- this does not work ????
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if self.cover_image_background == "none" or scale_factor == 1 then
|
|
|
|
|
local act_format = self.cover_image_format == "auto" and getExtension(self.cover_image_path) or self.cover_image_format
|
|
|
|
|
if not cover_image:writeToFile(self.cover_image_path, act_format, self.cover_image_quality, self.cover_image_grayscale) then
|
|
|
|
@ -199,6 +207,11 @@ function CoverImage:onReaderReady(doc_settings)
|
|
|
|
|
self:createCoverImage(doc_settings)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function CoverImage:onSetRotationMode(rotation)
|
|
|
|
|
logger.dbg("CoverImage: onSetRotationMode", rotation)
|
|
|
|
|
self:createCoverImage(self.ui.doc_settings)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function CoverImage:fallbackEnabled()
|
|
|
|
|
return self.fallback and isFileOk(self.cover_image_fallback_path)
|
|
|
|
|
end
|
|
|
|
@ -217,6 +230,7 @@ function CoverImage:getCacheFile(custom_cover)
|
|
|
|
|
-- use document_name here. Title may contain characters not allowed on every filesystem (esp. vfat on /sdcard)
|
|
|
|
|
local key = document_name .. custom_cover_mtime .. self.cover_image_quality .. self.cover_image_stretch_limit
|
|
|
|
|
.. self.cover_image_background .. self.cover_image_format .. tostring(self.cover_image_grayscale)
|
|
|
|
|
.. Screen:getRotationMode()
|
|
|
|
|
|
|
|
|
|
return self.cover_image_cache_path .. self.cover_image_cache_prefix .. md5(key) .. "." .. getExtension(self.cover_image_path)
|
|
|
|
|
end
|
|
|
|
|