Inky is a GUI framework that aims to solve LÖVE's problem of having no generic GUI framework that can work everywhere for anything. Most of LÖVE's GUI frameworks provide a (limited) set of widgets, and/or constrain itself to only a single input system. Inky gives complete freedom in both these aspects: Mouse, Mobile, Gamepad, Retro, Modern, Windowed. Everything is possible with Inky.
Inky does not provide any out of the box widgets for you to use. If you want a button, you'll have to program it. However! Inky does provide everything to make this process streamlined and easy. Making a widget means settings up 'hooks' for the widget's logic, and providing a draw function. Inky provides hooks to respond to events, interact with pointers, manage state, perform side effects, and much more.
Making a simple button is as easy as:
Code: Select all
return Inky.defineElement(function(self)
context:onPointer("release", function()
print("I have been clicked!")
end)
return function(_, x, y, w, h)
love.graphics.rectangle("line", x, y, w, h)
love.graphics.printf("Click me!", x, y, w, "center")
end
end)
This way, you'll be able to create a GUI that fits YOUR game, with the widgets YOU need.
Source code, documentation and examples are available on the Github page: https://github.com/Keyslam/Inky