Ebitengine tool kit for creating graphical user interfaces
Find a file
Trevor Slocum 5a26cb4e80 Do not import a default font
This import may prove unnecessary, adding several megabytes to an application's binary size.
2024-07-22 01:49:09 -07:00
examples Do not import a default font 2024-07-22 01:49:09 -07:00
kibodo Do not import a default font 2024-07-22 01:49:09 -07:00
messeji Add SetMask to messeji and Text widget 2024-02-10 12:43:58 -08:00
.gitignore Move kibodo into etk 2024-01-16 12:52:24 -08:00
box.go Make messeji elements private 2024-01-23 12:52:09 -08:00
button.go Allow fonts to be specified directly 2024-04-23 13:05:39 -07:00
checkbox.go Add Button.SetBorderColor 2024-01-23 01:07:06 -08:00
doc.go Add SetMask to messeji and Text widget 2024-02-10 12:43:58 -08:00
flex.go Fix expanding Flex children 2024-01-18 19:33:56 -08:00
frame.go Add Frame.SetPadding 2024-01-18 00:16:28 -08:00
game.go Use Monitor.DeviceScaleFactor to retrieve scaling information 2024-04-24 10:21:23 -07:00
go.mod Do not import a default font 2024-07-22 01:49:09 -07:00
go.sum Do not import a default font 2024-07-22 01:49:09 -07:00
grid.go Add List 2023-12-19 12:24:44 -08:00
input.go Allow fonts to be specified directly 2024-04-23 13:05:39 -07:00
keybind.go Add shortcut attributes ConfirmRune and BackRune 2024-01-21 16:18:49 -08:00
keyboard.go Do not import a default font 2024-07-22 01:49:09 -07:00
LICENSE Update LICENSE 2024-01-16 12:59:02 -08:00
list.go Add Button.SetBorderColor 2024-01-23 01:07:06 -08:00
README.md Update README 2024-01-18 00:30:53 -08:00
select.go Draw shaded button when pressed 2024-01-28 20:51:46 -08:00
style.go Do not import a default font 2024-07-22 01:49:09 -07:00
text.go Allow fonts to be specified directly 2024-04-23 13:05:39 -07:00
widget.go Add List 2023-12-19 12:24:44 -08:00
window.go Allow fonts to be specified directly 2024-04-23 13:05:39 -07: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.
    • 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.

Demo

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.