https://github.com/tslocum/etk
Ebitengine tool kit for creating graphical user interfaces
https://github.com/tslocum/etk
ebitengine gui library
Last synced: 3 months ago
JSON representation
Ebitengine tool kit for creating graphical user interfaces
- Host: GitHub
- URL: https://github.com/tslocum/etk
- Owner: tslocum
- License: mit
- Created: 2024-01-24T07:29:18.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-06-30T17:47:13.000Z (9 months ago)
- Last Synced: 2025-10-20T04:43:37.557Z (6 months ago)
- Topics: ebitengine, gui, library
- Language: Go
- Homepage: https://codeberg.org/tslocum/etk
- Size: 893 KB
- Stars: 5
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# etk - Ebitengine Tool Kit
[](https://pkg.go.dev/codeberg.org/tslocum/etk#section-documentation)
[](https://liberapay.com/rocket9labs.com)
[Ebitengine](https://github.com/hajimehoshi/ebiten) 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.
- FilePicker: File and directory creation and selection dialog.
- 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](https://rocketnine.itch.io/etk?secret=etk) using your browser.
[Boxcars](https://codeberg.org/tslocum/boxcars) uses etk extensively and is available at https://play.bgammon.org
[](https://codeberg.org/tslocum/boxcars/src/branch/main/screenshot.png)
## Examples
See the [examples](https://codeberg.org/tslocum/etk/src/branch/main/examples) folder.
## Documentation
Documentation is available via [godoc](https://pkg.go.dev/codeberg.org/tslocum/etk#section-documentation).
## Support
Please share issues and suggestions [here](https://codeberg.org/tslocum/etk/issues).