Immediate Mode GUI library for LÖVE
Find a file
Matthias Gazzari c11db7d444 Remove alpha value check from ImageButton
With LOVE 11.0 it is no longer possible to retrieve an ImageData from
an Image and thus there is no posibility to retrieve the alpha value
of a single pixel.
Another solution would be to additionally supply an ImageData
to the ImageButton in order to be able to retrieve the alpha values.
2018-04-22 20:00:54 +02:00
docs Remove alpha value check from ImageButton 2018-04-22 20:00:54 +02:00
.gitignore LET THERE BE SUIT! 2015-12-31 18:23:52 +01:00
button.lua Allow to overwrite draw function per widget 2016-01-16 02:33:41 +01:00
checkbox.lua Allow to overwrite draw function per widget 2016-01-16 02:33:41 +01:00
core.lua fix 'Input widget will raise error when candidate_text field is not defined' 2017-10-31 19:38:14 +08:00
imagebutton.lua Remove alpha value check from ImageButton 2018-04-22 20:00:54 +02:00
init.lua fix 'Input widget will raise error when candidate_text field is not defined' 2017-10-31 19:38:14 +08:00
input.lua fix 'Input widget will raise error when candidate_text field is not defined' 2017-10-31 19:38:14 +08:00
label.lua Allow to overwrite draw function per widget 2016-01-16 02:33:41 +01:00
layout.lua Remove nextUp() and nextLeft() 2016-10-04 17:41:35 -07:00
license.txt LET THERE BE SUIT! 2015-12-31 18:23:52 +01:00
README.md fix 'Input widget will raise error when candidate_text field is not defined' 2017-10-31 19:38:14 +08:00
slider.lua Allow to overwrite draw function per widget 2016-01-16 02:33:41 +01:00
suit-0.1-1.rockspec Fix rockspec 2018-04-08 14:15:21 +02:00
theme.lua Updated to love 11.0 2018-04-05 18:07:37 -05:00

SUIT

Simple User Interface Toolkit for LÖVE.

SUIT is an immediate mode GUI library.

Documentation?

Over at readthedocs.

Looks?

Here is how SUIT looks like with the default theme:

Demo of all widgets

More info and code is over at readthedocs.

Hello, World!

-- suit up
local suit = require 'suit'

-- storage for text input
local input = {text = ""}

-- make love use font which support CJK text
function love.load()
    local font = love.graphics.newFont("NotoSansHans-Regular.otf", 20)
    love.graphics.setFont(font)
end

-- all the UI is defined in love.update or functions that are called from here
function love.update(dt)
	-- put the layout origin at position (100,100)
	-- the layout will grow down and to the right from this point
	suit.layout:reset(100,100)

	-- put an input widget at the layout origin, with a cell size of 200 by 30 pixels
	suit.Input(input, suit.layout:row(200,30))

	-- put a label that displays the text below the first cell
	-- the cell size is the same as the last one (200x30 px)
	-- the label text will be aligned to the left
	suit.Label("Hello, "..input.text, {align = "left"}, suit.layout:row())

	-- put an empty cell that has the same size as the last cell (200x30 px)
	suit.layout:row()

	-- put a button of size 200x30 px in the cell below
	-- if the button is pressed, quit the game
	if suit.Button("Close", suit.layout:row()).hit then
		love.event.quit()
	end
end

function love.draw()
	-- draw the gui
	suit.draw()
end

function love.textedited(text, start, length)
    -- for IME input
    suit.textedited(text, start, length)
end

function love.textinput(t)
	-- forward text input to SUIT
	suit.textinput(t)
end

function love.keypressed(key)
	-- forward keypresses to SUIT
	suit.keypressed(key)
end