Files
wnsrc/lua/vgui/imagecheckbox.lua
lifestorm 9c918c46e5 Upload
2024-08-04 23:12:27 +03:00

78 lines
1.3 KiB
Lua

--[[
| This file was obtained through the combined efforts
| of Madbluntz & Plymouth Antiquarian Society.
|
| Credits: lifestorm, Gregory Wayne Rossel JR.,
| Maloy, DrPepper10 @ RIP, Atle!
|
| Visit for more: https://plymouth.thetwilightzone.ru/
--]]
local PANEL = {}
function PANEL:SetMaterial( On )
if ( self.MatOn ) then
self.MatOn:Remove()
end
self.MatOn = vgui.Create( "Material", self )
self.MatOn:SetSize( 16, 16 )
self.MatOn:SetMaterial( On )
self:InvalidateLayout( true )
end
function PANEL:SetChecked( bOn )
if ( self.State == bOn ) then return end
self.MatOn:SetVisible( bOn )
self.State = bOn
end
function PANEL:GetChecked()
return self.State
end
function PANEL:Set( bOn )
self:SetChecked( bOn )
end
function PANEL:DoClick()
self:SetChecked( !self.State )
end
function PANEL:SizeToContents()
if ( self.MatOn ) then
self:SetSize( self.MatOn:GetWide(), self.MatOn:GetTall() )
end
self:InvalidateLayout()
end
function PANEL:Paint()
draw.RoundedBox( 4, 0, 0, self:GetWide(), self:GetTall(), Color( 0, 0, 0, 50 ) )
return true
end
function PANEL:PerformLayout()
self.MatOn:SetPos( ( self:GetWide() - self.MatOn:GetWide() ) / 2, ( self:GetTall() - self.MatOn:GetTall() ) / 2 )
end
vgui.Register( "ImageCheckBox", PANEL, "Button" )