Guest User

Untitled

a guest
May 23rd, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.79 KB | None | 0 0
  1. local SKIN = {}
  2.  
  3.  
  4. SKIN.PrintName = "HGSkinV1"
  5. SKIN.Author = "HG | ZC0M [D]"
  6. SKIN.DermaVersion = 1
  7.  
  8. SKIN.colButtonText = Color( 255, 255, 255, 255 )
  9. SKIN.colButtonTextDisabled = Color( 255, 255, 255, 55 )
  10. SKIN.colButtonBorder = Color( 20, 20, 20, 0 )
  11. SKIN.colButtonBorderHighlight = Color( 225, 0, 0, 0 )
  12. SKIN.control_color = Color( 150, 50, 0, 255 )
  13. SKIN.control_color_highlight = Color( 250, 50, 50, 255 )
  14. SKIN.control_color_highlight2 = Color( 230, 0, 0, 255 )
  15. SKIN.control_color_active = Color( 150, 150, 150, 255 )
  16. SKIN.control_color_active2 = Color( 170, 0, 0, 255 )
  17. SKIN.control_color_bright = Color( 150, 0, 0, 255 )
  18. SKIN.control_color_dark = Color( 100, 0, 0, 255 )
  19. SKIN.control_color_dark2 = Color( 0, 0, 0, 255 )
  20. SKIN.bg_color = Color( 100, 0, 0, 155 )
  21. SKIN.bg_color_sleep = Color( 50, 0, 0, 155 )
  22. SKIN.bg_color_dark = Color( 50, 0, 0, 155 )
  23. SKIN.bg_color_bright = Color( 125, 0, 0, 255 )
  24. SKIN.fontButton = "DefaultSmall"
  25. SKIN.fontTab = "DefaultSmall"
  26. SKIN.colPropertySheet = Color( 50, 0, 0 , 255 )
  27. SKIN.colTab = SKIN.colPropertySheet
  28. SKIN.colTabInactive = Color( 90, 75, 60, 155 )
  29. SKIN.colTabShadow = Color( 60, 60, 60, 255 )
  30. SKIN.colTabText = Color( 255, 255, 255, 255 )
  31. SKIN.colTabTextInactive = Color( 200, 200, 200, 155 )
  32. SKIN.colNumberWangBG = Color( 225, 0, 0, 255 )
  33. SKIN.bg_alt1 = Color( 50, 0, 0 , 255 )
  34. SKIN.bg_alt2 = Color( 100, 25, 25, 155 )
  35.  
  36. function SKIN:DrawTransparentDoubleGradientBackground( x, y, w, h, r, g, b, r2, g2, b2 )
  37.  
  38. for i=1, h, 3 do
  39.  
  40. local gradient = (i / h)
  41. surface.SetDrawColor( (r*(1-gradient))+(r2*gradient), (g*(1-gradient))+(g2*gradient), (b*(1-gradient))+(b2*gradient), ((gradient*2)+3)*50 )
  42. surface.DrawRect( x, y+i, w, 3 )
  43.  
  44. end
  45. surface.SetDrawColor( 0, 0, 0, 255)
  46. surface.DrawOutlinedRect( x, y, w, h)
  47. end
  48.  
  49. function SKIN:DrawDoubleGradientBackground( x, y, w, h, r, g, b, r2, g2, b2 )
  50.  
  51. for i=1, h, 3 do
  52.  
  53. local gradient = (i / h)
  54. surface.SetDrawColor( (r*(1-gradient))+(r2*gradient), (g*(1-gradient))+(g2*gradient), (b*(1-gradient))+(b2*gradient), 255 )
  55. surface.DrawRect( x, y+i, w, 3 )
  56.  
  57. end
  58. surface.SetDrawColor( 0, 0, 0, 255)
  59. surface.DrawOutlinedRect( x, y, w, h)
  60. end
  61.  
  62.  
  63. function SKIN:DrawDoubleColourBackground( x, y, w, h, p, r, g, b, r2, g2, b2 )
  64.  
  65. surface.SetDrawColor( r, b, g, 255 )
  66. surface.DrawRect( x, y, w, h/p )
  67.  
  68. surface.SetDrawColor( 255, 255, 255, 50 )
  69. surface.DrawRect( x+3, y+3, w-3, math.Clamp((h/10)-3, 1, 2) )
  70. surface.SetDrawColor( 255, 255, 255, 255 )
  71. --surface.DrawRect( x+3, y+3, 1, h-6 )
  72.  
  73.  
  74. for i=(h/p), h, 3 do
  75.  
  76. surface.SetDrawColor( r*(1-(i/h))+r2*(i/h), g*(1-(i/h))+g2*(i/h), b*(1-(i/h))+b2*(i/h), 255 )
  77. surface.DrawRect( x, i, w, 3)
  78. end
  79. end
  80.  
  81. function SKIN:DrawHorDoubleColourBackground( x, y, w, h, p, r, g, b, r2, g2, b2 )
  82.  
  83.  
  84. surface.SetDrawColor( r, b, g, 255 )
  85. surface.DrawRect( x, y, w/p, h )
  86.  
  87. for i=(w/p), w, 3 do
  88.  
  89. surface.SetDrawColor( r*(1-(i/w))+r2*(i/w), g*(1-(i/w))+g2*(i/w), b*(1-(i/w))+b2*(i/w), 255 )
  90. surface.DrawRect( i, y, 3, h)
  91. end
  92. end
  93.  
  94. function SKIN:DrawHorDoubleGradientBackground( x, y, w, h, r, g, b, r2, g2, b2 )
  95.  
  96. for i=1, w, 3 do
  97.  
  98. local gradient = (i / w)
  99. surface.SetDrawColor( (r*(1-gradient))+(r2*gradient), (g*(1-gradient))+(g2*gradient), (b*(1-gradient))+(b2*gradient), 255 )
  100. surface.DrawRect( x+i, y, 3, h )
  101.  
  102. end
  103.  
  104. end
  105.  
  106. /*---------------------------------------------------------
  107. Frame & Form
  108. ---------------------------------------------------------*/
  109.  
  110. function SKIN:PaintFrame( panel )
  111.  
  112. local color = self.bg_color
  113.  
  114. self:DrawTransparentDoubleGradientBackground( 0, 0, panel:GetWide(), panel:GetTall(), 90, 0, 0, 50, 25, 20 )
  115.  
  116. self:DrawDoubleGradientBackground( 0, 0, panel:GetWide(), 115, 125, 0, 0, 70, 40, 40 )
  117.  
  118. surface.SetDrawColor( 0, 0, 0, 255)
  119. surface.DrawOutlinedRect( 0, 0, panel:GetWide(), 27)
  120. surface.SetDrawColor( self.colOutline )
  121. surface.DrawRect( 0, 21, panel:GetWide(), 1 )
  122.  
  123. end
  124.  
  125. function SKIN:PaintForm( panel )
  126.  
  127. local color = self.bg_color_sleep
  128.  
  129. self:DrawDoubleGradientBackground( 0, 9, panel:GetWide(), panel:GetTall()-9, 90, 0, 0, 50, 30, 25 )
  130.  
  131. end
  132.  
  133. /*---------------------------------------------------------
  134. NumSlider
  135. ---------------------------------------------------------*/
  136.  
  137. function SKIN:PaintNumSlider( panel )
  138.  
  139. local w, h = panel:GetSize()
  140.  
  141. self:DrawHorDoubleGradientBackground( 0, 0, w, h, 90, 0, 0, 50, 30, 25 )
  142.  
  143. surface.SetDrawColor( 0, 0, 0, 200 )
  144. surface.DrawRect( 3, h/2, w-6, 1 )
  145.  
  146. end
  147.  
  148. /*---------------------------------------------------------
  149. Tooltip
  150. ---------------------------------------------------------*/
  151. function SKIN:PaintTooltip( panel )
  152.  
  153. local w, h = panel:GetSize()
  154.  
  155. DisableClipping( true )
  156.  
  157. // This isn't great, but it's not like we're drawing 1000's of tooltips all the time
  158. for i=1, 4 do
  159.  
  160. local BorderSize = i
  161. local BGColor = (255 / i) * 0.3
  162.  
  163. self:DrawGenericBackground( BorderSize, BorderSize, w, h, Color( 200, 185, 160, BGColor ))
  164. panel:DrawArrow( BorderSize, BorderSize )
  165. self:DrawGenericBackground( -BorderSize, BorderSize, w, h, Color( 200, 185, 160, BGColor ))
  166. panel:DrawArrow( -BorderSize, BorderSize )
  167. self:DrawGenericBackground( BorderSize, -BorderSize, w, h, Color( 200, 185, 160, BGColor ))
  168. panel:DrawArrow( BorderSize, -BorderSize )
  169. self:DrawGenericBackground( -BorderSize, -BorderSize, w, h, Color( 200, 185, 160, BGColor ))
  170. panel:DrawArrow( -BorderSize, -BorderSize )
  171.  
  172. end
  173.  
  174. self:DrawGenericBackground( -1, -1, w+2, h+2, Color(0, 0, 0, 255))
  175. panel:DrawArrow( -1, 0 )
  176. panel:DrawArrow( 1, 0 )
  177. panel:DrawArrow( 0, 1 )
  178. self:DrawGenericBackground( 0, 0, w, h, Color(255, 225, 200, 255))
  179. panel:DrawArrow( 0, 0 )
  180.  
  181. DisableClipping( false )
  182.  
  183. end
  184.  
  185.  
  186. /*---------------------------------------------------------
  187. ScrollBar
  188. ---------------------------------------------------------*/
  189. function SKIN:PaintVScrollBar( panel )
  190. local col = self.control_color_active
  191. self:DrawHorDoubleColourBackground( 2, 0, panel:GetWide()-4, panel:GetTall(), 3, col.r/1.5, col.g/1.5, col.b/1.5, 210/2, 165/2, 150/2 )
  192. surface.SetDrawColor( 0, 0, 0, 250 )
  193. surface.DrawOutlinedRect( 2, 0, panel:GetWide()-4, panel:GetTall() )
  194.  
  195. end
  196.  
  197. function SKIN:PaintScrollBarGrip( panel )
  198.  
  199. local col = self.control_color_active
  200. self:DrawDoubleColourBackground( 1, 0, panel:GetWide()-2, panel:GetTall(), 3, col.r/1.7, col.g/1.7, col.b/1.7, 210/1.5, 165/1.5, 150/1.5 )
  201. surface.SetDrawColor( 0, 0, 0, 250 )
  202. surface.DrawOutlinedRect( 1, 0, panel:GetWide()-2, panel:GetTall() )
  203. end
  204.  
  205.  
  206. /*---------------------------------------------------------
  207. Button
  208. ---------------------------------------------------------*/
  209. function SKIN:PaintButton( panel )
  210.  
  211. local w = panel:GetWide()
  212. local h = panel:GetTall()
  213. local x, y = panel:GetPos()
  214.  
  215. if ( panel.m_bBackground ) then
  216.  
  217. local col = self.control_color_dark
  218. local col2 = self.control_color_dark2
  219. local sine = 0.7
  220. local line = Color( 0, 0, 0, 255 )
  221.  
  222. if ( panel:GetDisabled() ) then
  223. col = self.control_color_dark
  224. col2 = self.control_color_dark2
  225.  
  226. elseif ( panel.Depressed || panel:GetSelected() ) then
  227. col = self.control_color_active2
  228. col2 = self.control_color_active
  229. sine = 0.5
  230. line = Color( 150, 0, 0, 255 )
  231.  
  232. elseif ( panel.Hovered ) then
  233. col = self.control_color_highlight
  234. col2 = self.control_color_highlight2
  235. sine = math.Clamp(math.abs(math.sin(CurTime()*3)+1), 0.5, 1.13)
  236. line = Color( 150, 0, 0, 255 )
  237. end
  238.  
  239.  
  240. self:DrawDoubleColourBackground( 0, 0, w, h, 3, math.Clamp(col.r*sine, 0, 150), math.Clamp(col.b*sine, 0, 150), math.Clamp(col.g*sine, 0, 150), math.Clamp(col2.r*sine, 0, 175), math.Clamp(col2.g*sine, 0, 175), math.Clamp(col2.b*sine, 0, 175) )
  241. surface.SetDrawColor( line.r, line.g, line.b, 255 )
  242. surface.DrawOutlinedRect( 0, 0, w, h)
  243. end
  244.  
  245. end
  246.  
  247. function SKIN:PaintOverButton( panel )
  248. end
  249.  
  250. /*---------------------------------------------------------
  251. Tab
  252. ---------------------------------------------------------*/
  253. function SKIN:PaintTab( panel )
  254.  
  255. // This adds a little shadow to the right which helps define the tab shape..
  256. draw.RoundedBox( 4, 0, 0, panel:GetWide(), panel:GetTall() + 8, self.colTabShadow )
  257.  
  258. if ( panel:GetPropertySheet():GetActiveTab() == panel ) then
  259.  
  260. draw.RoundedBox( 4, 1, 0, panel:GetWide()-2, panel:GetTall() + 8, self.colTab )
  261.  
  262. else
  263.  
  264. local col = self.control_color_dark
  265. local col2 = self.control_color_dark2
  266.  
  267. self:DrawDoubleColourBackground( 4, 1, panel:GetWide()-2, panel:GetTall() + 8, 3, col.r/1.3, col.b/1.3, col.g/1.3, col2.r/1.3, col2.g/1.3, col2.b/1.3 )
  268. surface.SetDrawColor( 0, 0, 0, 255 )
  269. surface.DrawOutlinedRect( 4, 1, panel:GetWide()-2, panel:GetTall() + 8)
  270. end
  271.  
  272.  
  273. end
  274.  
  275.  
  276. derma.DefineSkin( "nocturnal", "Dark skin featuring gradients and other goodies.", SKIN )
Add Comment
Please, Sign In to add comment