30 lines
672 B
Lua
30 lines
672 B
Lua
-- primitive of drawing objects
|
|
local w = {}
|
|
|
|
function w.draw(f)
|
|
return function(self)
|
|
love.graphics.push()
|
|
love.graphics.translate(self.x, self.y)
|
|
f(self)
|
|
love.graphics.pop()
|
|
end
|
|
end
|
|
|
|
function w.mousepressed(f)
|
|
return function(self, x, y, button)
|
|
local x, y = x - self.x, y - self.y
|
|
|
|
if 0 <= x and x <= self.width and 0 <= y and y <= self.height then
|
|
f(self, x, y, button)
|
|
end
|
|
end
|
|
end
|
|
|
|
function w.draw_border(width, height)
|
|
love.graphics.push('all')
|
|
love.graphics.setLineWidth(5)
|
|
love.graphics.rectangle('line', 0, 0, width, height, 5)
|
|
love.graphics.pop()
|
|
end
|
|
|
|
return w
|