surface/DrawTexturedRectRotated

From Garry's Mod
(Difference between revisions)
Jump to: navigation, search
m (Also menu state)
Line 1: Line 1:
 
{{Func
 
{{Func
 
|Description=Draw a textured rotated rectangle with the given position and dimensions and angle on the screen, using the current active texture.
 
|Description=Draw a textured rotated rectangle with the given position and dimensions and angle on the screen, using the current active texture.
|Realm=Client
+
|Realm=Client and Menu
 
|IsClass=No
 
|IsClass=No
 
|Name=DrawTexturedRectRotated
 
|Name=DrawTexturedRectRotated

Revision as of 22:41, 30 July 2016

 surface.DrawTexturedRectRotated( )

Contents

Description

Draw a textured rotated rectangle with the given position and dimensions and angle on the screen, using the current active texture.

Arguments

number x

The X co-ordinate, representing the center of the rectangle.

Arguments

number y

The Y co-ordinate, representing the center of the rectangle.

Arguments

number width

The width of the rectangle.

Arguments

number height

The height of the rectangle.

Arguments

number rotation

The rotation of the rectangle, in degrees.

Examples

Example

A function that allows you to override the origin of rotation.

x0 and y0 are relative to the center of the rectangle.

function surface.DrawTexturedRectRotatedPoint( x, y, w, h, rot, x0, y0 )
	
	local c = math.cos( math.rad( rot ) )
	local s = math.sin( math.rad( rot ) )
	
	local newx = y0 * s - x0 * c
	local newy = y0 * c + x0 * s
	
	surface.DrawTexturedRectRotated( x + newx, y + newy, w, h, rot )
	
end


Examples

Example

Draws a simple red forever rotating box.

function draw.RotatedBox( x, y, w, h, ang, color )
	draw.NoTexture()
	surface.SetDrawColor( color or color_white )
	surface.DrawTexturedRectRotated( x, y, w, h, ang )
end

hook.Add( "HUDPaint", "my_rotated_box", function()
	draw.RotatedBox( 100, 100, 100, 100, CurTime() % 360, Color( 255, 0, 0) )
end )


Personal tools
Navigation