Libui ===== Perl6 binding to [andlabs/libui](https://github.com/andlabs/libui) ------------------------------------------------------------------ andlabs/libui is currently alpha software. This binding works with the current release, 0.4.1. It does not have full functionality, and is subject to change as andlabs/libui changes underneath it. The raw bindings accessible in Libui::Raw should be feature-complete, but only some widgets have an object-oriented implementation. ### Cross-platform: Windows, Mac, Linux This library provides an object-oriented interface to libui. Shared libraries ui.dll, libui.dylib, and libui.so are provided in resources. Windows requires the [64-bit 2015 Visual C++ Redistributable](https://www.microsoft.com/en-us/download/details.aspx?id=53587) to properly function. ### Basic Use: use Libui; Libui::Init; my Libui::App $app .= new("test"); #This allows the window to be closed #when the titlebar's close button is clicked $app.window.closing.tap({$app.exit}); $app.run(); ### Widgets Provided:
| Widget | Description |
|---|---|
| Button | A button with a label |
| Checkbox | A checkbox with a label |
| Combobox | A simple combobox |
| ColorButton | A button for selecting a color |
| EditableCombobox | A combobox that can be edited |
| Entry | Text input, can be disabled |
| FontButton | A button for selecting a font (Incomplete: Cannot set programmatically) |
| Form | A container that takes labels for its contents |
| Grid | A container that aligns widgets for window design |
| Group | A container that provides a title for a set of items |
| Label | Displays a single line of text |
| Menu | Creates a single column of an application menu |
| MultilineEntry | An entry that allows multiple lines |
| Time and Date Pickers | Allows choosing of a date and/or time |
| ProgressBar | Displays a progress bar |
| RadioButton | A set of radio buttons |
| Separator | A simple vertical or horizontal separator |
| Slider | A draggable slider for choosing a value in a range |
| Spinbox | A numerical input with a minimum and maximum range |
| Tab | A set named tabs for placing items in |
| Window | Contains any other widget, cannot be embedded in a container |
| VBox, HBox | A vertical or horizontal box for grouping items |