64 lines
1.3 KiB
Plaintext
64 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 |