Advertisement
Guest User

Untitled

a guest
Nov 12th, 2014
2,411
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.24 KB | None | 0 0
  1. function PANEL:Init()
  2.     self.Avatar = vgui.Create("AvatarImage", self)
  3.     self.Avatar:SetPaintedManually(true)
  4. end
  5.  
  6. function PANEL:PerformLayout()
  7.     self.Avatar:SetSize(self:GetWide(), self:GetTall())
  8. end
  9.  
  10. function PANEL:Paint(w, h)
  11.     render.ClearStencil()
  12.     render.SetStencilEnable(true)
  13.  
  14.     render.SetStencilWriteMask( 1 )
  15.     render.SetStencilTestMask( 1 )
  16.  
  17.     render.SetStencilFailOperation( STENCILOPERATION_REPLACE )
  18.     render.SetStencilPassOperation( STENCILOPERATION_ZERO )
  19.     render.SetStencilZFailOperation( STENCILOPERATION_ZERO )
  20.     render.SetStencilCompareFunction( STENCILCOMPARISONFUNCTION_NEVER )
  21.     render.SetStencilReferenceValue( 1 )
  22.  
  23.     draw.RoundedBox(4, 0, 0, w, h, color_white)
  24.  
  25.     render.SetStencilFailOperation( STENCILOPERATION_ZERO )
  26.     render.SetStencilPassOperation( STENCILOPERATION_REPLACE )
  27.     render.SetStencilZFailOperation( STENCILOPERATION_ZERO )
  28.     render.SetStencilCompareFunction( STENCILCOMPARISONFUNCTION_EQUAL )
  29.     render.SetStencilReferenceValue( 1 )
  30.  
  31.     self.Avatar:SetPaintedManually(false)
  32.     self.Avatar:PaintManual()
  33.     self.Avatar:SetPaintedManually(true)
  34.  
  35.     render.SetStencilEnable(false)
  36.     render.ClearStencil()
  37. end
  38.  
  39. vgui.Register("AvatarMask", PANEL)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement