Nikita Kruglickiy 1a0785862d Initial commit
2020-12-25 22:18:23 +06:00

58 lines
1.3 KiB
Plaintext

--@include element.txt
--@include ../utils.txt
require("element.txt")
require("../utils.txt")
ELabel = class("ELabel", Element)
accessorFunc(ELabel, "_color", "Color", Color(255, 255, 255))
accessorFunc(ELabel, "_disabledColor", "DisabledColor", Color(200, 200, 200))
function ELabel:initialize()
Element.initialize(self)
self._text = ""
self._textWidth = 0
self._textHeight = 0
self:setFont("Trebuchet18")
self:setText("Label")
end
function ELabel:setText(text)
self._text = tostring(text)
if self:getFont() then
render.setFont(self:getFont())
self._textWidth, self._textHeight = render.getTextSize(self:getText())
end
end
function ELabel:getText()
return self._text
end
function ELabel:setFont(font)
self._font = font
render.setFont(self:getFont())
self._textWidth, self._textHeight = render.getTextSize(self:getText())
end
function ELabel:getFont()
return self._font
end
function ELabel:getTextSize()
return self._textWidth, self._textHeight
end
function ELabel:paint()
local x, y = self:getAbsolutePos()
render.setFont(self:getFont())
render.setColor(self:isEnabled() and self:getColor() or self:getDisabledColor())
render.drawSimpleText(x, y, self:getText())
end