mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
Added PicDocument:getCoverPageImage() and :getProps()
So an image file can have a cover in coverbrowser's display. It also allows for an alternative viewer (ImageViewer widget) when holding on file / View full size cover.
This commit is contained in:
@@ -26,6 +26,28 @@ function PicDocument:getUsedBBox(pageno)
|
||||
return { x0 = 0, y0 = 0, x1 = self._document.width, y1 = self._document.height }
|
||||
end
|
||||
|
||||
function PicDocument:getProps()
|
||||
local _, _, docname = self.file:find(".*/(.*)")
|
||||
docname = docname or self.file
|
||||
return {
|
||||
title = docname:match("(.*)%."),
|
||||
}
|
||||
end
|
||||
|
||||
function PicDocument:getCoverPageImage()
|
||||
local f = io.open(self.file, "rb")
|
||||
if f then
|
||||
local data = f:read("*all")
|
||||
f:close()
|
||||
local Mupdf = require("ffi/mupdf")
|
||||
local ok, image = pcall(Mupdf.renderImage, data, data:len())
|
||||
if ok then
|
||||
return image
|
||||
end
|
||||
end
|
||||
return nil
|
||||
end
|
||||
|
||||
function PicDocument:register(registry)
|
||||
registry:addProvider("jpeg", "image/jpeg", self)
|
||||
registry:addProvider("jpg", "image/jpeg", self)
|
||||
|
||||
Reference in New Issue
Block a user