diff options
| author | Sam Anthony <sam@samanthony.xyz> | 2024-01-17 16:11:26 -0500 |
|---|---|---|
| committer | Sam Anthony <sam@samanthony.xyz> | 2024-01-17 16:11:26 -0500 |
| commit | bd9bce9f1278743e961a18cab688fdb09876560c (patch) | |
| tree | 9daec1c7725051930eb9db7904e50e6bd82d4ee8 /gui/widget/widget.go | |
| parent | 0a696233d721c64d1bb53c7429624313113fa6f5 (diff) | |
| download | volute-bd9bce9f1278743e961a18cab688fdb09876560c.zip | |
add text label widget
Diffstat (limited to 'gui/widget/widget.go')
| -rw-r--r-- | gui/widget/widget.go | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/gui/widget/widget.go b/gui/widget/widget.go index fbf866a..82738bd 100644 --- a/gui/widget/widget.go +++ b/gui/widget/widget.go @@ -11,7 +11,24 @@ import ( "volute/gui/win" ) -func Input(env gui.Env, r image.Rectangle, val chan<- float64) { +func Label(text string, r image.Rectangle, env gui.Env) { + redraw := func(drw draw.Image) image.Rectangle { + drawText([]byte(text), drw, r) + return r + } + env.Draw() <- redraw + for event := range env.Events() { + switch event := event.(type) { + case win.WiFocus: + if event.Focused { + env.Draw() <- redraw + } + } + } + close(env.Draw()) +} + +func Input(val chan<- float64, r image.Rectangle, env gui.Env) { redraw := func(text []byte) func(draw.Image) image.Rectangle { return func(drw draw.Image) image.Rectangle { drawText(text, drw, r) |