reactivate FFI blitbuffer module

This should fix #274 and #288.
This commit is contained in:
chrox
2013-10-15 22:55:35 +08:00
parent 9f42289226
commit 987b34f092
4 changed files with 4 additions and 30 deletions

View File

@@ -1,25 +0,0 @@
Image = {}
function Image._getFileData(filename)
local f = io.open(filename)
local data = f:read("*a")
f:close()
return data
end
function Image.fromPNG(filename)
local img = mupdfimg.new()
img:loadPNGData(Image._getFileData(filename))
local bb = img:toBlitBuffer()
img:free()
return bb
end
function Image.fromJPEG(filename)
local img = mupdfimg.new()
img:loadJPEGData(Image._getFileData(filename))
local bb = img:toBlitBuffer()
img:free()
return bb
end

View File

@@ -1,7 +1,6 @@
require "ui/screen"
require "ui/rendertext"
require "ui/graphics"
require "ui/image"
require "ui/event"
require "ui/gesturedetector"
require "ui/font"

View File

@@ -1,5 +1,5 @@
require "ui/widget/base"
require "ui/image"
--require "ui/image"
--[[
@@ -16,9 +16,9 @@ ImageWidget = Widget:new{
function ImageWidget:_render()
local itype = string.lower(string.match(self.file, ".+%.([^.]+)") or "")
if itype == "jpeg" or itype == "jpg" then
self._bb = Image.fromJPEG(self.file)
self._bb = Image:fromJPEG(self.file)
elseif itype == "png" then
self._bb = Image.fromPNG(self.file)
self._bb = Image:fromPNG(self.file)
end
end