diff options
| author | Alexander Pickering <alexandermpickering@gmail.com> | 2016-05-30 14:42:09 -0400 |
|---|---|---|
| committer | Alexander Pickering <alexandermpickering@gmail.com> | 2016-05-30 14:42:09 -0400 |
| commit | 2736f498f30220b858fc6fac23e7ddc4a597df6d (patch) | |
| tree | 374ceadedb654b00e09dac321620a8320830f734 /gamemode/vgui/vgui_scroller.lua | |
| download | redead-2736f498f30220b858fc6fac23e7ddc4a597df6d.tar.gz redead-2736f498f30220b858fc6fac23e7ddc4a597df6d.tar.bz2 redead-2736f498f30220b858fc6fac23e7ddc4a597df6d.zip | |
Inital commit
Diffstat (limited to 'gamemode/vgui/vgui_scroller.lua')
| -rw-r--r-- | gamemode/vgui/vgui_scroller.lua | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/gamemode/vgui/vgui_scroller.lua b/gamemode/vgui/vgui_scroller.lua new file mode 100644 index 0000000..0fb9e51 --- /dev/null +++ b/gamemode/vgui/vgui_scroller.lua @@ -0,0 +1,105 @@ +local PANEL = {} + +function PANEL:Init() + + //self:SetTitle( "" ) + //self:ShowCloseButton( false ) + //self:SetDraggable( false ) + + self.Image = vgui.Create( "DImageButton", self ) + self.Image:SetImage( "icon16/car.png" ) + self.Image:SetStretchToFit( false ) + self.Image.OnMousePressed = function() + + self.Depressed = true + + end + + self.Image.OnMouseReleased = function() + + self.Depressed = false + + end + + self:SetCursor( "hand" ) + self.Up = true + self.MoveTime = 0 + +end + +function PANEL:SetImage( img ) + + self.Image:SetImage( img ) + +end + +function PANEL:SetScrollUp( bool ) + + self.Up = bool + +end + +function PANEL:Think() + + if not self.Target then return end + + if self.Depressed and self.MoveTime < CurTime() then + + self.MoveTime = CurTime() + 0.2 + + if self.Up then + + self.Target:AddScroll( 1 ) + + else + + self.Target:AddScroll( -1 ) + + end + + surface.PlaySound( "buttons/lightswitch2.wav" ) + + end + +end + +function PANEL:SetTarget( pnl ) + + self.Target = pnl + +end + +function PANEL:OnMousePressed( mousecode ) + + self.Depressed = true + self:MouseCapture( true ) + +end + +function PANEL:OnMouseReleased( mousecode ) + + self.Depressed = false + self:MouseCapture( false ) + +end + +function PANEL:GetPadding() + return 5 +end + +function PANEL:PerformLayout() + + self.Image:SetSize( self:GetWide() - 10, self:GetTall() - 10 ) + self.Image:SetPos( 5, 5 ) + + //self:SizeToContents() + +end + +function PANEL:Paint() + + draw.RoundedBox( 4, 0, 0, self:GetWide(), self:GetTall(), Color( 0, 0, 0, 180 ) ) + +end + +derma.DefineControl( "Scroller", "A shitty scroller thing.", PANEL, "PanelBase" ) |
