New elements; Fixes

This commit is contained in:
Nikita Kruglickiy
2021-01-14 12:48:30 +06:00
parent eaf0a90173
commit d4dd889bb5
9 changed files with 231 additions and 100 deletions

View File

@@ -6,17 +6,20 @@ 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:setFont(GUI.fonts["main"])
self:setText("Label")
self:setColorScheme({
text = {
Color(255, 255, 255),
disabled = Color(200, 200, 200)
}
})
end
function ELabel:setText(text)
@@ -25,7 +28,7 @@ function ELabel:setText(text)
if self:getFont() then
render.setFont(self:getFont())
self._textWidth, self._textHeight = render.getTextSize(self:getText())
self._textWidth, self._textHeight = render.getTextSize(text)
end
end
@@ -36,7 +39,7 @@ end
function ELabel:setFont(font)
self._font = font
render.setFont(self:getFont())
render.setFont(font)
self._textWidth, self._textHeight = render.getTextSize(self:getText())
end
@@ -49,10 +52,12 @@ function ELabel:getTextSize()
return self._textWidth, self._textHeight
end
function ELabel:paint()
local x, y = self:getAbsolutePos()
function ELabel:sizeToContents()
self:setSize(self:getTextSize())
end
function ELabel:paint(x, y, w, h)
render.setFont(self:getFont())
render.setColor(self:isEnabled() and self:getColor() or self:getDisabledColor())
render.setColor(self:getColorFromScheme("text"))
render.drawSimpleText(x, y, self:getText())
end