49 lines
709 B
Lua
49 lines
709 B
Lua
local Element = require("gfx.element")
|
|
local Text = Element:new{ text = "" }
|
|
|
|
function Text:setText(text)
|
|
local current = self:getText()
|
|
if current ~= text then
|
|
self:setDirty()
|
|
|
|
local needReload = #current ~= #text
|
|
self.text = text
|
|
if needReload then
|
|
self:_reload()
|
|
end
|
|
end
|
|
end
|
|
|
|
function Text:getText()
|
|
return self.text
|
|
end
|
|
|
|
function Text:draw()
|
|
local dirty = Element.draw(self)
|
|
if dirty then
|
|
self:_getWindow().write(self:getText())
|
|
end
|
|
return dirty
|
|
end
|
|
|
|
function Text:getHeight()
|
|
return 1
|
|
end
|
|
|
|
function Text:getWidth()
|
|
return #self:getText()
|
|
end
|
|
|
|
function Text:setWidth()
|
|
|
|
end
|
|
|
|
function Text:setHeight()
|
|
|
|
end
|
|
|
|
function Text:resize()
|
|
|
|
end
|
|
|
|
return Text |