LÖVE GUI library written in MoonScript.
Inspired by CatUI, but the core modules were heavily modified. Some inspiration was also taken from LoveFrames.
Currently based on LÖVE 11.5 MoonScript 0.5
NOTE : You can clone the pre-compiled version from master-lua or get it compressed from release.
https://moongamelab.github.io/MeowUI/
See : https://github.com/Tourahi/MeowUI-Demo
Note : Don't forget to clone with "--recurse-submodules" to clone utf8 submodule also.
Third-party
utf8.lua : https://github.com/Stepets/utf8.lua
-- Always require MeowUI before any control assertrequire"MeowUI" -- Include a control. -- (You can expand your own controls based on your needs. See controls for examples) Button=assertrequireMeowUI.c_cwd.."Button"withlove
.load=->-- Get the manager (Takes care of all events). <Singleton>exportmanager=MeowUI.manager-- Get the root control. <Singleton>root=manager\getRoot!
-- And lets make a fancy polygon shaped button.bPoly=withButton"Polygon"
\setPosition200, 200
\setRadius25
\setSides6-- Finally add the new button as a child to the root so it can be drawn updated etc...root\addChildbPoly
.update= (dt) ->manager\updatedt
.draw=->manager\draw!
.mousepressed= (x, y, button) ->manager\mousepressedx, y, button
.keypressed= (key, is_r) ->manager\keypressedkey, is_r
.mousemoved= (x, y, dx, dy, istouch ) ->manager\mousemovedx, y, dx, dy, istouch
.mousereleased= (x, y, dx, dy, istouch ) ->manager\mousereleasedx, y, dx, dy, istouch
.wheelmoved= (x, y) ->manager\wheelmovedx, y
.keyreleased= (key) ->manager\keyreleasedkey
.textinput= (text) ->manager\textinputtext