105 lines
2.2 KiB
Lua
105 lines
2.2 KiB
Lua
-- Example: Setting theme in Gui.init()
|
|
-- NOTE: This should be called in love.load() after LÖVE graphics is initialized
|
|
local FlexLove = require("FlexLove")
|
|
local Gui = FlexLove.GUI
|
|
local Color = FlexLove.Color
|
|
local Theme = FlexLove.Theme
|
|
|
|
-- In love.load():
|
|
-- Initialize GUI with theme
|
|
Gui.init({
|
|
baseScale = { width = 1920, height = 1080 },
|
|
theme = "space" -- Load and activate the space theme
|
|
})
|
|
|
|
-- Alternative: Load theme manually if Gui.init() is called before love.load()
|
|
-- Theme.load("space")
|
|
-- Theme.setActive("space")
|
|
|
|
-- Now all elements can use the theme
|
|
local panel = Gui.new({
|
|
x = 100,
|
|
y = 100,
|
|
width = 400,
|
|
height = 300,
|
|
themeComponent = "panel",
|
|
padding = { top = 20, right = 20, bottom = 20, left = 20 },
|
|
})
|
|
|
|
local button1 = Gui.new({
|
|
parent = panel,
|
|
x = 20,
|
|
y = 20,
|
|
width = 150,
|
|
height = 50,
|
|
text = "Normal Button",
|
|
textAlign = "center",
|
|
textColor = Color.new(1, 1, 1, 1),
|
|
themeComponent = "button",
|
|
callback = function(element, event)
|
|
if event.type == "click" then
|
|
print("Button clicked!")
|
|
end
|
|
end
|
|
})
|
|
|
|
local button2 = Gui.new({
|
|
parent = panel,
|
|
x = 20,
|
|
y = 80,
|
|
width = 150,
|
|
height = 50,
|
|
text = "Disabled",
|
|
textAlign = "center",
|
|
textColor = Color.new(0.6, 0.6, 0.6, 1),
|
|
themeComponent = "button",
|
|
disabled = true, -- Shows disabled state
|
|
callback = function(element, event)
|
|
print("This won't fire!")
|
|
end
|
|
})
|
|
|
|
local input1 = Gui.new({
|
|
parent = panel,
|
|
x = 20,
|
|
y = 140,
|
|
width = 200,
|
|
height = 40,
|
|
text = "Type here...",
|
|
textColor = Color.new(1, 1, 1, 1),
|
|
themeComponent = "input",
|
|
})
|
|
|
|
local input2 = Gui.new({
|
|
parent = panel,
|
|
x = 20,
|
|
y = 190,
|
|
width = 200,
|
|
height = 40,
|
|
text = "Active input",
|
|
textColor = Color.new(1, 1, 1, 1),
|
|
themeComponent = "input",
|
|
active = true, -- Shows active/focused state
|
|
})
|
|
|
|
local input3 = Gui.new({
|
|
parent = panel,
|
|
x = 20,
|
|
y = 240,
|
|
width = 200,
|
|
height = 40,
|
|
text = "Disabled input",
|
|
textColor = Color.new(0.6, 0.6, 0.6, 1),
|
|
themeComponent = "input",
|
|
disabled = true, -- Shows disabled state
|
|
})
|
|
|
|
return {
|
|
panel = panel,
|
|
button1 = button1,
|
|
button2 = button2,
|
|
input1 = input1,
|
|
input2 = input2,
|
|
input3 = input3,
|
|
}
|