--@include element.txt --@include /koptilnya/libs/utils.txt require("element.txt") require("/koptilnya/libs/utils.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, y, h, h) render.setColor(self:getColorFromScheme("border")) render.drawRectOutline(x, y, h, h, 1) render.drawRectOutline(x + 1, y + 1, h - 2, h - 2, 1) end function ECheckbox:onChange(state) end