An immediate mode GUI for the Love2D framework, forked from https://github.com/coding-jackalope/Slab to submit patches

coding_jackalope 5631b95775 [Dock]: Fixed issue with untethering one window untethering all windows. 5 vuotta sitten
Internal 5631b95775 [Dock]: Fixed issue with untethering one window untethering all windows. 5 vuotta sitten
API.lua e47ee09b28 [Dock]: Options to enable/disable certain docks. 5 vuotta sitten
LICENSE b9bd559fab Update LICENSE 5 vuotta sitten
README.md 2719255fd5 [README]: Updated image reference. 5 vuotta sitten
Slab.lua 0339e21ca0 [Slab Test]: Test when Slab is not in the root directory. 5 vuotta sitten
SlabDebug.lua 5631b95775 [Dock]: Fixed issue with untethering one window untethering all windows. 5 vuotta sitten
SlabTest.lua e47ee09b28 [Dock]: Options to enable/disable certain docks. 5 vuotta sitten
Style.lua dec804c4f3 [Layout]: Fixed bug where the proper column width wasn't used for auto sized windows. 5 vuotta sitten
changelog.txt 5631b95775 [Dock]: Fixed issue with untethering one window untethering all windows. 5 vuotta sitten
conf.lua 21a2b9e226 Initial check-in. 5 vuotta sitten
init.lua 21a2b9e226 Initial check-in. 5 vuotta sitten
main.lua 21a2b9e226 Initial check-in. 5 vuotta sitten

README.md

Slab

Slab is an immediate mode GUI toolkit for the Love 2D framework. This library is designed to allow users to easily add this library to their existing Love 2D projects and quickly create tools to enable them to iterate on their ideas quickly. The user should be able to utilize this library with minimal integration steps and is completely written in Lua and utilizes the Love 2D API. No compiled binaries are required and the user will have access to the source so that they may make adjustments that meet the needs of their own projects and tools. Refer to main.lua and SlabTest.lua for example usage of this library.

Usage

Integrating this library into existing projects is very simple.

local Slab = require 'Slab'

function love.load(args)
	love.graphics.setBackgroundColor(0.4, 0.88, 1.0)
	Slab.Initialize(args)
end

function love.update(dt)
	Slab.Update(dt)
  
	Slab.BeginWindow('MyFirstWindow', {Title = "My First Window"})
	Slab.Text("Hello World")
	Slab.EndWindow()
end

function love.draw()
	Slab.Draw()
end

For more detailed information on usage of this library, refer to the Wiki.

License

Slab is licensed under the MIT license. Please see the LICENSE file for more information.

Credits

  • Dear ImGui project built by Omar Cornut and various contributors. This project was the inspiration for building an Immediate Mode GUI for Love2D specifically. If anyone is building a game or application in C++, I highly recommend using this library and its rich toolset to speed up development.
  • Kenney.nl and the Tango Desktop Project for providing icons used in this project.