Difference between revisions of "Canvas:clear"

m (Added note about performance)
m
Line 6: Line 6:
 
[[love.graphics.setScissor]] will restrict the area of the Canvas that this function affects.
 
[[love.graphics.setScissor]] will restrict the area of the Canvas that this function affects.
 
== Function ==
 
== Function ==
 +
Clear the canvas to transparent black: (0, 0, 0, 0).
 
=== Synopsis ===
 
=== Synopsis ===
 
<source lang="lua">
 
<source lang="lua">
Line 16: Line 17:
  
 
== Function ==
 
== Function ==
Clear the canvas to transparent black (0, 0, 0, 0).
+
Clear the canvas to a specific color.
 
=== Synopsis ===
 
=== Synopsis ===
 
<source lang="lua">
 
<source lang="lua">
Line 30: Line 31:
  
 
== Function ==
 
== Function ==
Clear the canvas to a specific color.
 
 
=== Synopsis ===
 
=== Synopsis ===
 
<source lang="lua">
 
<source lang="lua">

Revision as of 06:04, 26 February 2015

Available since LÖVE 0.8.0
It has been renamed from Framebuffer: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) will be 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

See Also

Other Languages