mirror of
https://github.com/TangentFoxy/Pop.Box.git
synced 2024-12-15 12:44:20 +00:00
105 lines
3.0 KiB
Lua
105 lines
3.0 KiB
Lua
local lg = love.graphics
|
|
local pop
|
|
|
|
local debugDraw = false
|
|
|
|
function love.load()
|
|
print(love.getVersion())
|
|
|
|
pop = require "pop"
|
|
---[[
|
|
local c = pop.box():align("center", "center"):setSize(300, 300)
|
|
pop.box(c, {255, 0, 0, 255}):setSize(100, 50)
|
|
pop.box(c, {0, 255, 0, 255}):align("center"):setSize(100, 100)
|
|
pop.box(c, {0, 0, 255, 255}):align("right"):setSize(50, 100)
|
|
pop.box(c, {100, 100, 100, 255}):align("center", "center"):setSize(500, 100)
|
|
pop.box(c):align("center"):setSize(50, 500):move(0, -100)
|
|
pop.box(c, {255, 255, 0, 255}):align(false, "bottom"):setSize(100, 100)
|
|
pop.box(c, {255, 150, 0, 255}):align("center", "bottom"):setSize(100, 50)
|
|
pop.box(c, {0, 255, 255}):align("right", "bottom"):setSize(50, 100):move(-50)
|
|
pop.text(nil, "Here's some test text\n(with newlines)\nin the top left corner!")
|
|
pop.text(nil, "Here's some test text in the bottom right corner!"):align("right", "bottom")
|
|
--pop.skin(pop.text("Here's easier-to-code test text in the center!"):align("center", "center", true)) -- 'true' means align to pixel!
|
|
w = pop.box(nil, {255, 255, 255, 255}):align(false, "bottom"):setSize(150, 150)
|
|
b = pop.box(w, {0, 0, 0, 255}):setMargin(5):setSize(100, 100)
|
|
--]]
|
|
|
|
--c:move(100)
|
|
pop.box({255, 0, 0, 255}):position(50, 500) -- testing streamlined_get_set extension & optional parents
|
|
--b:margin(2) -- testing streamlined_get_set extension
|
|
b:fill() -- testing fill!
|
|
|
|
---[[
|
|
w2 = pop.window(nil, "Window")
|
|
w2:move(100, 100)
|
|
w2:setWidth(500)
|
|
w2:move(-50, 80)
|
|
w2:setHeight(500)
|
|
w2:move(0, -175)
|
|
w2.child[2]:align("center")
|
|
--w2:align("center")
|
|
--w2:setAlignment("center"):align("center")
|
|
|
|
--w2.child[1]:setBackground {100, 100, 100, 255}
|
|
--w2.child[3]:setBackground {160, 140, 40, 255}
|
|
--]]
|
|
|
|
local test = lg.newImage("test.png")
|
|
G = pop.element():align("right"):move(-2, 2)
|
|
a = pop.box(G, test):align("right")
|
|
b = pop.box(G, test):align("right"):move(-25):setWidth(40)
|
|
c = pop.box(G, test):align("right"):move(0, 25):setHeight(40)
|
|
|
|
print(a.horizontal, a.vertical)
|
|
print(b.horizontal, b.vertical)
|
|
print(c.horizontal, c.vertical)
|
|
|
|
--TODO make rounding to nearest pixel DEFAULT BEHAVIOR
|
|
--TODO make debugDraw better
|
|
end
|
|
|
|
function love.update(dt)
|
|
pop.update(dt)
|
|
end
|
|
|
|
function love.draw()
|
|
pop.draw()
|
|
|
|
if debugDraw then
|
|
pop.debugDraw()
|
|
--w2:debugDraw()
|
|
end
|
|
end
|
|
|
|
function love.mousemoved(x, y, dx, dy)
|
|
pop.mousemoved(x, y, dx, dy)
|
|
end
|
|
|
|
function love.mousepressed(x, y, button)
|
|
pop.mousepressed(x, y, button)
|
|
end
|
|
|
|
function love.mousereleased(x, y, button)
|
|
pop.mousereleased(x, y, button)
|
|
end
|
|
|
|
function love.keypressed(key)
|
|
local handled = pop.keypressed(key)
|
|
|
|
if (key == "d") and (not handled) then
|
|
debugDraw = not debugDraw
|
|
end
|
|
|
|
if (key == "escape") and (not handled) then
|
|
love.event.quit()
|
|
end
|
|
end
|
|
|
|
function love.keyreleased(key)
|
|
pop.keyreleased(key)
|
|
end
|
|
|
|
function love.textinput(text)
|
|
pop.textinput(text)
|
|
end
|