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