--[[   _                                

    ( )                               

   _| |   __   _ __   ___ ___     _ _ 

 /'_` | /'__`\( '__)/' _ ` _ `\ /'_` )

( (_| |(  ___/| |   | ( ) ( ) |( (_| |

`\__,_)`\____)(_)   (_) (_) (_)`\__,_) 



	DSprite



--]]



function CreateSprite( mat )

	local sprite = vgui.Create( "DSprite" )

	sprite:SetMaterial( mat )

	return sprite

end



PANEL = {}



AccessorFunc( PANEL, "m_Material", 		"Material" )

AccessorFunc( PANEL, "m_Color", 		"Color" )

AccessorFunc( PANEL, "m_Rotation", 		"Rotation" )

AccessorFunc( PANEL, "m_Handle", 		"Handle" )



--[[---------------------------------------------------------



-----------------------------------------------------------]]

function PANEL:Init()



	self:SetColor( Color( 255, 255, 255, 255 ) )

	self:SetRotation( 0 )

	self:SetHandle( Vector(0.5, 0.5, 0) )

	

	self:SetMouseInputEnabled( false )

	self:SetKeyboardInputEnabled( false )

	

	self:NoClipping( true )

	

end



--[[---------------------------------------------------------



-----------------------------------------------------------]]

function PANEL:Paint()



	local Mat = self.m_Material

	if (!Mat) then return true end



	surface.SetMaterial( Mat )

	surface.SetDrawColor( self.m_Color.r, self.m_Color.g, self.m_Color.b, self.m_Color.a )

	

	local w, h = self:GetSize()

	local x, y = 0, 0

	surface.DrawTexturedRectRotated( x, y, w, h, self.m_Rotation )

	return true



end



--[[---------------------------------------------------------

   Name: GenerateExample

-----------------------------------------------------------]]

function PANEL:GenerateExample( ClassName, PropertySheet, Width, Height )



	local ctrl = vgui.Create( ClassName )

		ctrl:SetMaterial( Material( "brick/brick_model" ) )

		ctrl:SetSize( 200, 200 )

		

	PropertySheet:AddSheet( ClassName, ctrl, nil, true, true )



end



derma.DefineControl( "DSprite", "A sprite", PANEL, "DPanel" )