libui bare bindings for luajit and lua 5.1/ 5.2/ 5.3.
This binding makes libui available to lua scripts. libui is easy binding and should usable from nearly any lua project.
- Because lua is missing native threads support, so threads feature maybe lost.
- Because libui/lui is not mature enough, you maybe encounter strange bugs.
Examples can be found in the examples folders, those are translate from examples.
git checkout https://github.com/zhaozg/lui.git
cd lui
git submodule init
git submodule update cd lui
make installTODO
- All top level functions are in the table returned by
require
ui = require'lui' -- type(ui) is 'table'- All module level uiXXXX() functions are accessible as ui.XXXX(), they are include
InitUninitMainMainStepMainStepstimerQuitQueueMainOnShouldQuitOpenFileSaveFileMsgBoxMsgBoxError.
assert(ui.Init())
ui.Quit()
ui.Uninit()- New objects are created with ui.NewXXX() or ui.DrawNewXXXX(), the are include
NewAreaNewButtonNewCheckboxNewComboboxNewColorButtonNewDateTimePickerNewDatePickerNewEditableComboboxNewEntryNewFontButtonNewFormNewGridNewGroupNewHorizontalBoxNewHorizontalSeparatorNewLabelNewMenuNewMultilineEntryNewNonWrappingMultilineEntryNewPasswordEntryNewProgressBarNewRadioButtonsNewSearchEntryNewSliderNewSpinboxNewTimePickerNewTabNewVerticalBoxNewVerticalSeparatorNewWindowDrawNewAreaHandlerDrawNewBrushDrawNewPathDrawNewMatrixDrawNewStrokeParamsDrawNewTextLayoutDrawListFontFamilies(Special)DrawLoadClosestFont(Special)
wnd = ui.NewWindow(...) -- type(wnd) is userdata with metatable 'libui.Window'- All object perperties like uiTypeValue() and uiTypeSetValue() are accessible as obj:Value()
entry:Padded(true) -- just call uiEntrySetPadded(entry,1) and return object itself
entry:Padded() -- just call uiEntryPadded(entry) and return boolean type padded value- Object Append() methods take a variable number of arguments, allowing things
`ui.NewRadioButtons():Append("One", "Two", "Three")- All object functions like uiTypeMethod() are accessible as obj:Method() calls
wnd:Show()
wnd:OnClosing(onclosing_cb)You need read examples to be familiar with them.
- Ico Doornekamp lui basicly forked of libuilua but updated.
- Pietro Gagliardi author of libui.