Announcing etk - Ebitengine tool kit for creating graphical user interfaces

234 views
Skip to first unread message

Trevor Slocum

unread,
Jan 18, 2024, 3:05:51 PM1/18/24
to golang-nuts
etk[0] is a library for the Ebitengine[1] game engine that simplifies creating graphical user interfaces. Boxcars[2] uses etk to greatly simplify UI development, as its single codebase targets web, desktop and Android.


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.
  - List: List of widgets as selectable items.
  - Text: Text display widget.
  - Window: Widget paging mechanism. Only one widget added to a window is displayed at a time.

ged...@gmail.com

unread,
Jan 20, 2024, 6:36:44 AM1/20/24
to golang-nuts
this is really well done.

There is a golang main per target ( web, desktop, android ). Maybe that can be hidden behind a main.go that looks up the runtime ?

Reply all
Reply to author
Forward
0 new messages