|
|
@ -1,6 +1,6 @@
|
|
|
|
local Widget = require("ui/widget/widget")
|
|
|
|
local Widget = require("ui/widget/widget")
|
|
|
|
|
|
|
|
local Image = require("ffi/mupdfimg")
|
|
|
|
local Geom = require("ui/geometry")
|
|
|
|
local Geom = require("ui/geometry")
|
|
|
|
-- Image
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--[[
|
|
|
|
--[[
|
|
|
|
ImageWidget shows an image from a file
|
|
|
|
ImageWidget shows an image from a file
|
|
|
@ -10,6 +10,9 @@ local ImageWidget = Widget:new{
|
|
|
|
invert = nil,
|
|
|
|
invert = nil,
|
|
|
|
dim = nil,
|
|
|
|
dim = nil,
|
|
|
|
hide = nil,
|
|
|
|
hide = nil,
|
|
|
|
|
|
|
|
-- if width or height is given, image will rescale to the given size
|
|
|
|
|
|
|
|
width = nil,
|
|
|
|
|
|
|
|
height = nil,
|
|
|
|
_bb = nil
|
|
|
|
_bb = nil
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -20,6 +23,10 @@ function ImageWidget:_render()
|
|
|
|
elseif itype == "png" then
|
|
|
|
elseif itype == "png" then
|
|
|
|
self._bb = Image:fromPNG(self.file)
|
|
|
|
self._bb = Image:fromPNG(self.file)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
local w, h = self._bb:getWidth(), self._bb:getHeight()
|
|
|
|
|
|
|
|
if (self.width and self.width ~= w) or (self.height and self.height ~= h) then
|
|
|
|
|
|
|
|
self._bb = self._bb:scale(self.width or w, self.height or h)
|
|
|
|
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function ImageWidget:getSize()
|
|
|
|
function ImageWidget:getSize()
|
|
|
|