MCPcopy Index your code
hub / github.com/ebitenui/ebitenui

github.com/ebitenui/ebitenui @v0.7.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.7.3 ↗ · + Follow
1,634 symbols 6,375 edges 137 files 489 documented · 30%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

  <img alt="ebitenui-logo" src="https://github.com/ebitenui/ebitenui/raw/v0.7.3/_media/ebitenui-logo-light.svg" height="128">


Ebiten UI

Release License Github Docs Docs Discord Subreddit

A user interface engine and widget library for Ebitengine

>> Note: This library is separate from Ebitengine. Please reach out to the linked Discord server for questions or suggestions

Ebiten UI is an extension to Ebitengine that provides the ability to render a complete user interface, with widgets such as buttons, lists, combo boxes, and so on. It uses the [retained mode] model. All graphics used by Ebiten UI can be fully customized, so you can really make your UI your own.

Documentation on how to use and extend Ebiten UI is available at ebitenui.github.io.

Screenshots

Quick Start

Ebiten UI is written in Go 1.19 which is available at https://go.dev/.

There are Ebiten UI examples that can be found in the _examples/ folder.

They can be run from the root directory of the project with the following commands: * Ebiten UI complete demo: go run github.com/ebitenui/ebitenui/_examples/demo * Ebiten UI widget: go run github.com/ebitenui/ebitenui/_examples/widget_demos/<folder_name>

The examples can also be tested as WASM by running the following commands and opening your browser to http://localhost:6262: * Ebiten UI complete demo: go run github.com/hajimehoshi/wasmserve@latest -http=:6262 ./_examples/demo * Ebiten UI widget: go run github.com/hajimehoshi/wasmserve@latest -http=:6262 ./_examples/widget_demos/<folder_name>

Used By

Social Media

License

Ebiten UI is licensed under the MIT license.

Maintainers

Contributing

Want to help develop Ebiten UI? Check out our current issues. Want to know the steps on how to start contributing, take a look at the open source guide.

Extension points exported contracts — how you extend this code

HasWidget (Interface)
nolint:golint HasWidget must be implemented by concrete widget types to get their Widget. [20 implementers]
widget/widget.go
Layerer (Interface)
Layerer may be implemented by widgets that need to set up input layers by calling AddLayer. [16 implementers]
input/layer.go
DeferredAction (Interface)
A DeferredAction is an action that is executed at a later time. [5 implementers]
internal/event/deferred.go
ValidatedRenderer (Interface)
(no doc) [20 implementers]
widget/widget_testing_test.go
PreferredSizeLocateableWidget (Interface)
(no doc) [25 implementers]
widget/container.go
Relayoutable (Interface)
(no doc) [8 implementers]
widget/layout.go
DragContentsUpdater (Interface)
(no doc) [65 implementers]
widget/dnd.go
DrawImageOptionsFunc (FuncType)
A DrawImageOptionsFunc is responsible for setting DrawImageOptions when drawing an image. This is usually used to transl
image/nineslice.go

Core symbols most depended-on inside this repo

NewNineSliceColor
called by 189
image/nineslice.go
Do
called by 186
internal/event/deferred.go
AddChild
called by 177
widget/container.go
GetWidget
called by 173
widget/widget.go
WidgetOpts
called by 148
widget/text.go
Text
called by 137
widget/button.go
Layout
called by 135
widget/layout.go
LayoutData
called by 130
widget/widget.go

Shape

Method 927
Function 382
Struct 207
FuncType 80
Interface 20
TypeAlias 18

Languages

Go100%

Modules by API surface

widget/widget.go99 symbols
widget/textinput.go74 symbols
widget/button.go72 symbols
widget/list.go68 symbols
widget/slider.go49 symbols
widget/checkbox.go47 symbols
widget/text.go45 symbols
widget/textarea.go44 symbols
widget/listcombobutton.go41 symbols
widget/window.go37 symbols
widget/container.go34 symbols
input/input.go32 symbols

For agents

$ claude mcp add ebitenui \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page