Difference between revisions of "Canvas:clear"

m
m
Line 2: Line 2:
 
Clears the contents of a [[Canvas]] to a specific color.
 
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.
+
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.
 
[[love.graphics.setScissor]] will restrict the area of the Canvas that this function affects.

Revision as of 03:30, 2 March 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) 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

See Also

Other Languages