Ebitengine tool kit for creating graphical user interfaces
examples/showcase | ||
kibodo | ||
messeji | ||
.gitignore | ||
box.go | ||
button.go | ||
checkbox.go | ||
doc.go | ||
flex.go | ||
frame.go | ||
game.go | ||
go.mod | ||
go.sum | ||
grid.go | ||
input.go | ||
keybind.go | ||
keyboard.go | ||
LICENSE | ||
list.go | ||
platform_linux.go | ||
platform_nocgo.go | ||
platform_wasm.go | ||
platform_windows.go | ||
platform_wla.go | ||
README.md | ||
select.go | ||
sprite.go | ||
style.go | ||
text.go | ||
widget.go | ||
window.go |
etk - Ebitengine Tool Kit
Ebitengine tool kit for creating graphical user interfaces
Note: This library is still in development. Breaking changes may be made until v1.0 is released.
Features
- Simplifies GUI development:
- Propagates layout changes.
- Propagates user input.
- Propagates focus.
- Extensible by design:
- The Box widget is provided as a building block for custom widgets.
- Widgets may be nested within each other efficiently.
- Tools in the kit:
- Box: Building block for creating custom widgets.
- Button: Clickable button.
- Flex: Flexible stack-based layout. Each Flex widget may be oriented horizontally or vertically.
- Frame: Widget container. All child widgets are displayed at once. Child widgets are not repositioned by default.
- Grid: Highly customizable cell-based layout. Each widget added to the Grid may span multiple cells.
- Input: Text input widget. The Input widget is simply a Text widget that also accepts user input.
- Keyboard: On-screen keyboard.
- List: List of widgets as selectable items.
- Select: Dropdown selection widget.
- Sprite: Resizable image.
- Text: Text display widget.
- Window: Widget paging mechanism. Only one widget added to a window is displayed at a time.
Demo
Browse the widget showcase using your browser.
Boxcars uses etk extensively and is available at https://play.bgammon.org
Examples
See the examples folder.
Documentation
Documentation is available via godoc.
Support
Please share issues and suggestions here.