Initial Commit

This commit is contained in:
백현웅 2024-12-26 20:09:41 +09:00
commit 0ce34bd35c
3 changed files with 70 additions and 0 deletions

17
bordered_window.lua Normal file
View file

@ -0,0 +1,17 @@
local window = require("window")
local w = {}
function w.new(inner, x, y, w, h)
local mt = { __index = inner }
local a = {}
setmetatable(a, mt)
function a:draw()
inner:draw()
love.graphics.rectangle("line", 0, 0, w, h)
end
local r = window.new(a, x, y, h, w)
return r
end

20
main.lua Normal file
View file

@ -0,0 +1,20 @@
local window = require("window")
local bwindow = require("bordered_window")
--local button = require("button")
function love.load()
b = {}
function b.draw()
love.graphics.print("A", 10, 10)
end
ba = bwindow.new(b, 200, 200, 50, 50)
-- canvas = love.graphics.newCanvas()
end
function love.update(dt)
end
function love.draw()
ba:draw()
end

33
window.lua Normal file
View file

@ -0,0 +1,33 @@
local w = {}
function w.new(inner, x, y, w, h)
local r = {
transform = love.math.newTransform(x, y),
width = w,
height = h
}
function r:transformPoint(x, y)
local x, y = transform:transformPoint(x, y)
if 0 <= x and x <= width and 0 <= y and y <= height then
return x, y
else
return nil
end
end
function r:mousepressed(m, x, y)
return inner:mousepressed(m, x, y)
end
function r:draw()
love.graphics.push()
love.graphics.setTransform(self.transform)
inner:draw()
love.graphics.pop()
end
return r
end
return w