Difference between revisions of "Canvas:renderTo"

m
(Add complete example.)
Line 25: Line 25:
 
== Examples ==
 
== Examples ==
 
=== Using an anonymous function for drawing to a Canvas ===
 
=== Using an anonymous function for drawing to a Canvas ===
 +
This example randomly draws a bunch of red lines from the top left corner of the screen to the bottom.
 
<source lang="lua">
 
<source lang="lua">
canvas:renderTo(function()
+
local canvas = love.graphics.newCanvas()
    love.graphics.draw(image1, 0,0)
+
function love.update()
     love.graphics.draw(image2, 100,100)
+
    canvas:renderTo(function()
end)
+
        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
 
</source>
 
</source>
  

Revision as of 13:49, 25 January 2015

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

Render to the Canvas using a function.

This is a shortcut to love.graphics.setCanvas:

canvas:renderTo( func )

is the same as

love.graphics.setCanvas( canvas )
func()
love.graphics.setCanvas()

Function

Synopsis

Canvas:renderTo( func )

Arguments

function func
A function performing drawing operations.

Returns

Nothing.

Examples

Using an anonymous function for drawing to a Canvas

This example randomly draws a bunch of red lines from the top left corner of the screen to the bottom.

local canvas = love.graphics.newCanvas()
function love.update()
    canvas:renderTo(function()
        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

See Also

Other Languages