Revision Difference
PANEL:Paint#511084
<function name="Paint" parent="PANEL" type="hook">⤶
<ishook>yes</ishook>⤶
<description>⤶
Called whenever the panel should be drawn. ⤶
⤶
You can create panels with a customized appearance by overriding their Paint() function, which will prevent the default appearance from being drawn.⤶
⤶
<note>Render operations from the <page>surface</page> (and consequentially the <page>draw</page>) are always offset by the global position of this panel, as seen in the example below</note>⤶
⤶
<note>This hook will not run if the panel is completely off the screen. The hook will still run however if any parts of the panel are still on screen.</note>⤶
</description>⤶
<realm>Client</realm>⤶
<predicted>No</predicted>⤶
<args>⤶
<arg name="width" type="number">The panel's width.</arg>⤶
<arg name="height" type="number">The panel's height.</arg>⤶
</args>⤶
<rets>⤶
<ret name="" type="boolean">Returning true prevents the background from being drawn.</ret>⤶
</rets>⤶
</function>⤶
⤶
<example>⤶
<description>Creates a DPanel and overrides its Paint() function to draw a 100x100 pixel black rounded box in the center of the screen.</description>⤶
<code>⤶
local panel = vgui.Create( "DPanel" )⤶
panel:SetSize( 100, 100 )⤶
panel:SetPos( ScrW() / 2 - 50, ScrH() / 2 - 50 )⤶
⤶
function panel:Paint( w, h )⤶
draw.RoundedBox( 8, 0, 0, w, h, Color( 0, 0, 0 ) )⤶
end⤶
</code>⤶
⤶
</example>