Mothback/code/canvas.lua

50 lines
941 B
Lua
Raw Normal View History

2022-02-22 00:14:38 +00:00
Canvas = {class = "Canvas"}
function Canvas:New(name)
2022-02-26 02:56:53 +00:00
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)
2022-02-22 00:14:38 +00:00
2022-02-26 02:56:53 +00:00
setmetatable(o, self)
2022-02-22 00:14:38 +00:00
self.__index = self
2022-02-26 02:56:53 +00:00
return o
2022-02-22 00:14:38 +00:00
end
function Canvas:Recreate()
self.canvas:release()
2022-02-26 01:23:48 +00:00
self.canvas = love.graphics.newCanvas(self.width,self.height)
2022-02-22 00:14:38 +00:00
end
function Canvas:Reset()
love.graphics.setCanvas(self.canvas)
2022-02-26 02:56:53 +00:00
love.graphics.setBlendMode("replace")
2022-02-22 00:14:38 +00:00
love.graphics.setColor(0,0,0,0)
love.graphics.rectangle(
"fill",
0,
0,
self.width,
self.height
)
love.graphics.setCanvas()
end
function Canvas:DrawingStart()
self:Reset()
love.graphics.setCanvas(self.canvas)
2022-02-22 00:14:38 +00:00
end
function Canvas:DrawingEnd()
love.graphics.setCanvas()
love.graphics.setBlendMode("alpha")
2022-02-26 02:56:53 +00:00
love.graphics.setColor(1,1,1,1)
2022-02-22 00:14:38 +00:00
end
function Canvas:Draw()
2022-02-26 02:56:53 +00:00
love.graphics.draw(self.canvas)
2022-02-22 00:14:38 +00:00
end
require "code/canvasses/darkness"