Difference between revisions of "Canvas:clear"

m
(Examples)
Line 63: Line 63:
 
     if key == "c" then clear = not clear end
 
     if key == "c" then clear = not clear end
 
end
 
end
 +
</source>
 +
 +
=== How to clear canvas ===
 +
<source lang="lua">
 +
love.graphics.setCanvas(canvas) -- set to canvas
 +
love.graphics.clear(0,0,0,0) -- clear the canvas
 +
love.graphics.setCanvas() -- back to standard render output
 
</source>
 
</source>
  

Revision as of 19:52, 29 September 2021

Available since LÖVE 0.8.0 and removed in LÖVE 0.10.0
It has been replaced by love.graphics.clear.

Clears the contents of a Canvas to a specific color.

Calling this function directly after the Canvas becomes active (via love.graphics.setCanvas or Canvas:renderTo) is more efficient than calling it when the Canvas isn't active, especially on mobile devices.

love.graphics.setScissor will restrict the area of the Canvas that this function affects.

Function

Clear the canvas to transparent black: (0, 0, 0, 0).

Synopsis

Canvas:clear( )

Arguments

None.

Returns

Nothing.

Function

Clear the canvas to a specific color.

Synopsis

Canvas:clear( red, green, blue, alpha )

Arguments

number red
Red component of the clear color (0-255).
number green
Green component of the clear color (0-255).
number blue
Blue component of the clear color (0-255).
number alpha (255)
Alpha component of the clear color (0-255).

Returns

Nothing.

Function

Synopsis

Canvas:clear( rgba )

Arguments

table rgba
A sequence with the red, green, blue and alpha values as numbers (alpha may be ommitted).

Returns

Nothing.

Examples

Clear canvas before drawing

If the c-key is pressed the canvas will be cleared before drawing a new line on the screen.

local canvas = love.graphics.newCanvas()
local clear
function love.update()
    -- Use an anonymous function to draw lines on our canvas.
    canvas:renderTo(function()
        if clear then canvas:clear() end   -- Clear the canvas before drawing lines.
        love.graphics.setColor(love.math.random(255), 0, 0)
        love.graphics.line(0, 0, love.math.random(0, love.graphics.getWidth()), love.math.random(0, love.graphics.getHeight()))
    end)
end

function love.draw()
    love.graphics.setColor(255, 255, 255)
    love.graphics.draw(canvas)
end

function love.keypressed(key)
    if key == "c" then clear = not clear end
end

How to clear canvas

love.graphics.setCanvas(canvas) -- set to canvas
love.graphics.clear(0,0,0,0) -- clear the canvas
love.graphics.setCanvas() -- back to standard render output

See Also

Other Languages