Difference between revisions of "Canvas:clear"

(Added setScissor note.)
(Add example.)
Line 37: Line 37:
 
=== Returns ===
 
=== Returns ===
 
Nothing.
 
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.
 +
<source lang="lua">
 +
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
 +
</source>
  
 
== See Also ==
 
== See Also ==

Revision as of 08:23, 28 January 2015

Available since LÖVE 0.8.0
It has been renamed from Framebuffer:clear.

Clears content of a Canvas.

When called without arguments, the Canvas will be cleared with color rgba = {0,0,0,0}, i.e. it will be fully transparent. If called with color parameters (be it numbers or a color table), the alpha component may be omitted in which case it defaults to 255 (fully opaque).

It's possible to clear a section of the canvas with love.graphics.setScissor.

Function

Synopsis

Canvas:clear( )

Arguments

None.

Returns

Nothing.

Function

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