2021-01-19 14:08:53 +06:00

63 lines
1.3 KiB
Plaintext

--@include element.txt
--@include /koptilnya/libs/utils.txt
require("element.txt")
require("/koptilnya/libs/utils.txt")
ELabel = class("ELabel", Element)
function ELabel:initialize()
Element.initialize(self)
self._text = ""
self._textWidth = 0
self._textHeight = 0
self:setFont(GUI.fonts["main"])
self:setText("Label")
self:setColorScheme({
text = {
Color(255, 255, 255),
disabled = Color(200, 200, 200)
}
})
end
function ELabel:setText(text)
self._text = tostring(text)
if self:getFont() then
render.setFont(self:getFont())
self._textWidth, self._textHeight = render.getTextSize(text)
end
end
function ELabel:getText()
return self._text
end
function ELabel:setFont(font)
self._font = font
render.setFont(font)
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:sizeToContents()
self:setSize(self:getTextSize())
end
function ELabel:paint(x, y, w, h)
render.setFont(self:getFont())
render.setColor(self:getColorFromScheme("text"))
render.drawSimpleText(x, y, self:getText())
end