From be2aad1142bde494229d9d27d4123923aa578c1a 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/buffer.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'go/ui/buffer.go') diff --git a/go/ui/buffer.go b/go/ui/buffer.go index e46461bf..3abbc2cc 100644 --- a/go/ui/buffer.go +++ b/go/ui/buffer.go @@ -16,9 +16,9 @@ var ( type Buffer struct { WidgetBase - lines []string - pos int - font *text.GoTextFace + lines []string + pos int + font *text.GoTextFace lineSpacing float64 xMargin float64 } @@ -34,7 +34,7 @@ func (b *Buffer) render() *ebiten.Image { img.Fill(BUFFER_BACKGROUND) var y float64 = -b.font.Size for _, line := range b.lines[b.pos:] { - _, h := text.Measure(line, b.font, b.font.Size * b.lineSpacing) + _, h := text.Measure(line, b.font, b.font.Size*b.lineSpacing) y += h if y > float64(b.Height) { break @@ -72,6 +72,8 @@ func (b *Buffer) Remove(idx int) { b.ForceRedraw() } +func (*Buffer) IsScrollable() bool { return true } + func (b *Buffer) Scroll(x, y int) { if y == 0 { return -- cgit v1.2.3