erdos/src/draw/system.lua

36 lines
685 B
Lua

return function(draw)
function draw:free(f)
if self.fr then return end
self.fr = true
--if self._cr then self._cr:release() end
if f then draw:freeFont() end
collectgarbage 'collect'
end
function draw:freeFont()
if self.f then self.f:release() end
end
function draw:give()
if self.fr then return end
self.pc = love.graphics.getCanvas()
if self.pc ~= self.cr then
love.graphics.push()
love.graphics.origin()
love.graphics.setCanvas(self._cr)
end
return self
end
function draw:back()
love.graphics.setCanvas(self.pc)
love.graphics.pop()
return self
end
function draw:full(full)
love.window.setFullscreen(full or false)
return self
end
end