--=============================================================================--

--  ___  ___   _   _   _    __   _   ___ ___ __ __

-- |_ _|| __| / \ | \_/ |  / _| / \ | o \ o \\ V /

--  | | | _| | o || \_/ | ( |_n| o ||   /   / \ / 

--  |_| |___||_n_||_| |_|  \__/|_n_||_|\\_|\\ |_|  2007

--										 

--=============================================================================--



local Panels = {}





local function VGUIShowLayoutPaint()





	for panel, data in pairs( Panels ) do

	

		if ( panel:IsValid() ) then

		

			local x, y = panel:LocalToScreen( 0, 0 )

			

			local Alpha = math.Clamp( (data.Time - SysTime()) / 0.3, 0, 1 ) * 100

		

			surface.SetDrawColor( 255, 0, 0, Alpha )

			surface.DrawRect( x, y, panel:GetWide(), panel:GetTall() )

			

			surface.SetDrawColor( 0, 255, 0, Alpha )

			surface.DrawOutlinedRect( x, y, panel:GetWide(), panel:GetTall() )

			

		end

	

		if ( !panel:IsValid() || data.Time < SysTime() ) then

			Panels[ panel ] = nil

		end

	

	end



end



hook.Add( "DrawOverlay", "VGUIShowLayoutPaint", VGUIShowLayoutPaint )





function VisualizeLayout( panel )



	local tab = {}

	tab.Time = SysTime() + 0.3

	

	Panels[ panel ] = tab



end