Nikita Kruglickiy 1e9e783ee6 changes
2021-03-31 05:25:18 +06:00

57 lines
1.2 KiB
Lua

--@include element.txt
require("element.txt")
ECheckbox = class("ECheckbox", Element)
function ECheckbox:initialize()
Element.initialize(self)
self._checked = false
self:setSize(16, 16)
self:setColorScheme({
border = {
Color(209, 209, 209),
hover = Color(255, 255, 255),
disabled = Color(130, 130, 130)
},
mark = {
Color(81, 92, 107),
disabled = Color(40, 46, 53)
}
})
end
function ECheckbox:setChecked(state)
self._checked = state
self:onChange(state)
end
function ECheckbox:isChecked()
return self._checked
end
function ECheckbox:toggle()
self:setChecked(!self:isChecked())
end
function ECheckbox:onMousePressed(x, y, key, keyName)
if keyName == "MOUSE1" then
self:toggle()
end
end
function ECheckbox:paint(x, y, w, h)
render.setColor(self:isChecked() and self:getColorFromScheme("mark") or Color(0, 0, 0, 0))
render.drawRectFast(x + 4, y + 4, w - 8, h - 8)
render.setColor(self:getColorFromScheme("border"))
render.drawRectOutline(x, y, w, h, 2)
end
-- STUB
function ECheckbox:onChange(state)
end