Ebitengine tool kit for creating graphical user interfaces
Find a file
2024-11-23 11:08:38 -08:00
examples/showcase Scroll List by pixels instead of items 2024-11-21 22:02:05 -08:00
kibodo Improve on-screen keyboard responsiveness 2024-11-19 00:04:30 -08:00
messeji Fix skipping lines above visible ara 2024-11-23 11:08:38 -08:00
.gitignore Move kibodo into etk 2024-01-16 12:52:24 -08:00
box.go Add Widget.Clip 2024-11-19 00:54:05 -08:00
button.go Fix automatically resizing non-English text 2024-11-16 14:07:38 -08:00
checkbox.go Add Style.CheckboxBgColor 2024-10-31 22:13:57 -07:00
doc.go Add Keyboard and Select to list of widgets 2024-10-23 22:05:30 -07:00
flex.go Fix expanding Flex children 2024-01-18 19:33:56 -08:00
frame.go Add Frame.SetHorizontal and Frame.SetVertical 2024-11-20 10:27:06 -08:00
game.go Add Widget.Clip 2024-11-19 00:54:05 -08:00
go.mod Add Open 2024-11-21 10:07:57 -08:00
go.sum Add Open 2024-11-21 10:07:57 -08:00
grid.go Add List 2023-12-19 12:24:44 -08:00
input.go Add Input.SetAutoResize 2024-11-18 22:24:06 -08:00
keybind.go Add List.SetConfirmedFunc 2024-10-09 13:21:50 -07:00
keyboard.go Add Widget.Cursor 2024-09-11 22:13:07 -07:00
LICENSE Update LICENSE 2024-01-16 12:59:02 -08:00
list.go Scroll List by pixels instead of items 2024-11-21 22:02:05 -08:00
platform_linux.go Add Open 2024-11-21 10:07:57 -08:00
platform_nocgo.go Fork clipboard library 2024-10-11 20:05:00 -07:00
platform_wasm.go Add Open 2024-11-21 10:07:57 -08:00
platform_windows.go Add Open 2024-11-21 10:07:57 -08:00
platform_wla.go Fork clipboard library 2024-10-11 20:05:00 -07:00
README.md Fix centering text vertically 2024-11-15 21:01:59 -08:00
select.go Add Widget.Clip 2024-11-19 00:54:05 -08:00
sprite.go Cache thumb bounds 2024-11-21 11:03:32 -08:00
style.go Use text/v2 to draw text 2024-11-15 00:09:27 -08:00
text.go Fix automatically resizing non-English text 2024-11-16 14:07:38 -08:00
widget.go Refactor Widget 2024-11-21 11:18:18 -08:00
window.go Add Widget.Clip 2024-11-19 00:54:05 -08:00

etk - Ebitengine Tool Kit

GoDoc Donate via LiberaPay

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

Screenshot

Examples

See the examples folder.

Documentation

Documentation is available via godoc.

Support

Please share issues and suggestions here.