50 lines
941 B
Lua
50 lines
941 B
Lua
Canvas = {class = "Canvas"}
|
|
|
|
function Canvas:new(name)
|
|
local o = {}
|
|
o.name = name
|
|
o.width = game.width/game.scale
|
|
o.height = game.height/game.scale
|
|
o.canvas = love.graphics.newCanvas(o.width,o.height)
|
|
|
|
setmetatable(o, self)
|
|
self.__index = self
|
|
return o
|
|
end
|
|
|
|
function Canvas:recreate()
|
|
self.canvas:release()
|
|
self.canvas = love.graphics.newCanvas(self.width,self.height)
|
|
end
|
|
|
|
function Canvas:reset()
|
|
love.graphics.setCanvas(self.canvas)
|
|
love.graphics.setBlendMode("replace")
|
|
love.graphics.setColor(0,0,0,0)
|
|
love.graphics.rectangle(
|
|
"fill",
|
|
0,
|
|
0,
|
|
self.width,
|
|
self.height
|
|
)
|
|
love.graphics.setCanvas()
|
|
end
|
|
|
|
function Canvas:startDrawing()
|
|
self:reset()
|
|
love.graphics.setCanvas(self.canvas)
|
|
end
|
|
|
|
function Canvas:endDrawing()
|
|
love.graphics.setCanvas()
|
|
love.graphics.setBlendMode("alpha")
|
|
love.graphics.setColor(1,1,1,1)
|
|
end
|
|
|
|
function Canvas:draw()
|
|
love.graphics.draw(self.canvas)
|
|
end
|
|
|
|
require "code/canvasses/darkness"
|