summaryrefslogtreecommitdiff
path: root/lua/vgui/dtiltedlabel.lua
blob: a0aaf7d02b7c5fabd4181e2e3b66d9e49d3c016d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
local PANEL = {}
local base = vgui.GetControlTable("DLabel")
setmetatable(PANEL,{__index=base})

--Function stolen from the lua wiki
function draw.TextRotated( text, x, y, color, font, ang )
	render.PushFilterMag( TEXFILTER.ANISOTROPIC )
	render.PushFilterMin( TEXFILTER.ANISOTROPIC )
	surface.SetFont( font )
	surface.SetTextColor( color )
	surface.SetTextPos( 0, 0 )
	local textWidth, textHeight = surface.GetTextSize( text )
	local rad = -math.rad( ang )
	x = x - ( math.cos( rad ) * textWidth / 2 + math.sin( rad ) * textHeight / 2 )
	y = y + ( math.sin( rad ) * textWidth / 2 + math.cos( rad ) * textHeight / 2 )
	local m = Matrix()
	m:SetAngles( Angle( 0, ang, 0 ) )
	m:SetTranslation( Vector( x, y, 0 ) )
	cam.PushModelMatrix( m )
		surface.DrawText( text )
	cam.PopModelMatrix()
	render.PopFilterMag()
	render.PopFilterMin()
end
function PANEL:Paint(w,h)
	local x,y = self:LocalToScreen(0,0)
	print("x",x,"y",y)
	draw.TextRotated(self:GetText(),0,y,Color(0,0,0,255),"DermaDefault",-45)
end
function PANEL:GetHeaderHeight()
	return 0--10 * #(self.Header:GetText())
end
function PANEL:Init()

	--self.Header = vgui.Create( "DButton", self )
	--self.Header.DoClick = function() self:DoClick() end
	--self.Header.DoRightClick = function() self:DoRightClick() end
end
vgui.Register("DTiltedLabel", PANEL, "DLabel")