opus/sys/modules/opus/ui/components/NftImage.lua

36 lines
828 B
Lua
Raw Normal View History

local class = require('opus.class')
local UI = require('opus.ui')
2019-02-06 04:03:57 +00:00
UI.NftImage = class(UI.Window)
UI.NftImage.defaults = {
UIElement = 'NftImage',
}
function UI.NftImage:setParent()
if self.image then
self.height = self.image.height
end
if self.image and not self.width then
self.width = self.image.width
end
UI.Window.setParent(self)
end
function UI.NftImage:draw()
if self.image then
2019-07-11 01:02:46 +00:00
-- due to blittle, the background and foreground transparent
-- color is the same as the background color
local bg = self:getProperty('backgroundColor')
2019-02-06 04:03:57 +00:00
for y = 1, self.image.height do
for x = 1, #self.image.text[y] do
2019-07-11 01:02:46 +00:00
self:write(x, y, self.image.text[y][x], self.image.bg[y][x], self.image.fg[y][x] or bg)
2019-02-06 04:03:57 +00:00
end
end
else
self:clear()
end
end
function UI.NftImage:setImage(image)
self.image = image
end