love.graphics.rectangle

Available since LÖVE 0.3.2
This function is not supported in earlier versions.

Draws a rectangle.

Function

Synopsis

love.graphics.rectangle( mode, x, y, width, height, rx, ry, segments )

Arguments

DrawMode mode
How to draw the rectangle.
number x
The position of top-left corner along the x-axis.
number y
The position of top-left corner along the y-axis.
number width
Width of the rectangle.
number height
Height of the rectangle.
Available since LÖVE 0.10.0
number rx (nil)
The x-axis radius of each round corner. Cannot be greater than half the rectangle's width.
number ry (rx)
The y-axis radius of each round corner. Cannot be greater than half the rectangle's height.
number segments (nil)
The number of segments used for drawing the round corners. A default amount will be chosen if no number is given.

Returns

Nothing.

Notes

Custom shaders which use texture coordinates will not work correctly with love.graphics.rectangle (or other shape-drawing functions), since primitive shapes don't have UV texture coordinates associated with the shape's vertex positions.

Examples

Draw a rectangle at 20,50 with a size of 60x120

function love.draw()
	love.graphics.rectangle("fill", 20,50, 60,120)
end

Draw a rotated rectangle

function drawRotatedRectangle(mode, x, y, width, height, angle)
	-- We cannot rotate the rectangle directly, but we
	-- can move and rotate the coordinate system.
	love.graphics.push()
	love.graphics.translate(x, y)
	love.graphics.rotate(angle)
	love.graphics.rectangle(mode, 0, 0, width, height) -- origin in the top left corner
--	love.graphics.rectangle(mode, -width/2, -height/2, width, height) -- origin in the middle
	love.graphics.pop()
end

local angle = 0
function love.update(dt)
	angle = angle + dt * 1 -- Rotate at one radian per second.
end

function love.draw()
	drawRotatedRectangle("fill", 150,150, 100,60, angle)
end

See Also


Other Languages