Guified - The 3000+ Lines of Code So You Only Have to Write 100

Showcase your libraries, tools and other projects that help your fellow love users.
Post Reply
User avatar
zalander
Citizen
Posts: 81
Joined: Mon Jan 09, 2023 5:58 am
Location: India
Contact:

Guified - The 3000+ Lines of Code So You Only Have to Write 100

Post by zalander »

Guified - The 3000+ Lines of Code So You Only Have to Write 100

Guified is a powerful and modular GUI library/framework for LÖVE that simplifies window management and UI creation. 🚀 Whether you're making a quick tool or a full-fledged application, Guified gives you full control over UI elements while keeping things lightweight and easy to use. Guified focuses on making UI elements reusable keeping your code as short as possible therefore the built-in elements don't look good as they are made to be used as placeholders.

✨ Features at a Glance ✨
✅ Window Management: Keep your game on top with one function.
✅ UI Elements: Buttons, frames, text boxes, and more—fully customizable.
✅ Dynamic Updates: Register elements to auto-update without manual loops.
✅ Registry System: Easily extend Guified by registering custom elements.
✅ Minimal Code, Maximum Power: Write less UI code, focus more on your game.
✅ FFI Support (Windows Only): Unlock advanced OS integrations.
✅ No Bloat: Only load the modules you need—Guified adapts to you.
✅ Debugging Made Easy: Built-in logging for tracking issues instantly.

🚀 Example: A Simple UI in Just a Few Lines
With Guified, creating a button is as simple as this:

Code: Select all

local guified = require("guified")
local button = guified.registry.elements.button:new(100, 100, "Bar") -- X, Y, the text that the button says
guified.registry.register(button)
function love.update(dt)
	if button.pressed() then
		print("Foo")
	end
end

💡 That's it! No need to manually check for clicks—Guified handles it all.

🎯 Choose What You Need (Coming soon ! B-1.1.0 :P )
Guified is modular, meaning you can remove what you don’t use.
- Don't need modules? Remove them:

Code: Select all

rm -rf modules/
Not using FFI features? Remove OS-dependent code:

Code: Select all

rm -rf os_interop.lua
Cant wait for B-1.1.0 ? Try the testing build of Guified at https://github.com/zalanwastaken/guifie ... in/testing

Prefer manual updates instead of Guified’s registry? No problem! You can still use UI elements with standard LÖVE functions:

Code: Select all

 local element -- your UI element

function love.update(dt) element.update() end

function love.draw() element.draw() end 
📢 Latest Version: B-1.0.0 "Existential Crisis Edition"
This version focuses on stability and modularity. It supports:
✅ LÖVE 11.5 (Mysterious Mysteries)
✅ LÖVE 11.4 (Mysterious Mysteries)

🚀 Try Guified Today!
💾 Download Here: https://github.com/zalanwastaken/guifie ... ag/B-1.0.0
🐛 Report Bugs & Contribute: https://github.com/zalanwastaken/guified/issues
🏓 Repository: https://github.com/zalanwastaken/guified

💬 Feedback is Welcome!
Guified is still evolving, and I’m always looking for ways to improve it. If you have criticisms, suggestions, or even just roasts about Guified or this post, feel free to share! Every bit of feedback helps make Guified better. 🔧🔥

Why struggle with UI when Guified can do the heavy lifting for you? 💪
Using LOVE to make everything except games :crazy:

Code: Select all

astring = "pog"
print(astring)
--pog
User avatar
dusoft
Party member
Posts: 765
Joined: Fri Nov 08, 2013 12:07 am
Location: Europe usually
Contact:

Re: Guified - The 3000+ Lines of Code So You Only Have to Write 100

Post by dusoft »

Hey, I checked the repo + examples, do you have some screenshots?

Also, based on the available functions how does one connect a callback to a button?
User avatar
zalander
Citizen
Posts: 81
Joined: Mon Jan 09, 2023 5:58 am
Location: India
Contact:

Re: Guified - The 3000+ Lines of Code So You Only Have to Write 100

Post by zalander »

dusoft wrote: Fri Mar 28, 2025 4:20 pm Hey, I checked the repo + examples, do you have some screenshots?

Also, based on the available functions how does one connect a callback to a button?
I haven't added some screenshots yet but ill upload them soon.

Guified doesn't use callbacks. You can use the button.pressed() function to execute code when a button is pressed.

Code: Select all

local button -- our button
guified.registry.register(button)

function love.update()
	if button.pressed() then -- pressed function returns true when the button is pressed
		print("button was pressed")
	end
end

Using LOVE to make everything except games :crazy:

Code: Select all

astring = "pog"
print(astring)
--pog
User avatar
dusoft
Party member
Posts: 765
Joined: Fri Nov 08, 2013 12:07 am
Location: Europe usually
Contact:

Re: Guified - The 3000+ Lines of Code So You Only Have to Write 100

Post by dusoft »

Oh, OK, thanks for this function, I must have overlooked that in the docs / examples.
Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests