From 6c4645eea5f26e32bc462c8627031a3563b1c39a Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Tue, 29 Apr 2025 14:44:48 -0500 Subject: overhaul ui * implement events instead of interfaces Interfaces and the wrappers head the problem that they could not support multiple events at once or only a single one without loosing the others. * add text input support for WASM on mobile A hidden html input is required to open the keyboard and receive the input. * improve the number choice * fix using the default number * add submit button only if a onclick method was provided --- go/ui/clickable.go | 40 ---------------------------------------- 1 file changed, 40 deletions(-) delete mode 100644 go/ui/clickable.go (limited to 'go/ui/clickable.go') diff --git a/go/ui/clickable.go b/go/ui/clickable.go deleted file mode 100644 index 761b7534..00000000 --- a/go/ui/clickable.go +++ /dev/null @@ -1,40 +0,0 @@ -package ui - -import ( - "github.com/hajimehoshi/ebiten/v2" -) - -type Clickable interface { - Click(x, y int) -} - -type ClickWrapper struct { - w Widget - onClick func(x, y int) -} - -func NewClickWrapper(w Widget, onClick func(x, y int)) *ClickWrapper { - return &ClickWrapper{w, onClick} -} - -func (w *ClickWrapper) Draw(screen *ebiten.Image) { - w.w.Draw(screen) -} - -func (w *ClickWrapper) FindObjectAt(x, y int) interface{} { - return w.w.FindObjectAt(x, y) -} - -func (w *ClickWrapper) Contains(x, y int) bool { - return w.w.Contains(x, y) -} - -func (w *ClickWrapper) Click(x, y int) { - w.onClick(x, y) -} - -func (w *ClickWrapper) Scroll(x, y int) { - if w, ok := w.w.(Scrollable); ok { - w.Scroll(x, y) - } -} -- cgit v1.2.3