aboutsummaryrefslogtreecommitdiffstats
path: root/gui/widget/label.go
diff options
context:
space:
mode:
authorSam Anthony <sam@samanthony.xyz>2024-05-10 13:17:02 -0400
committerSam Anthony <sam@samanthony.xyz>2024-05-10 13:17:02 -0400
commit15c9618700dc681e6b94e83a1aaeea6cbcd0c2c2 (patch)
treebd92f064527f8897c41e294df10efaaaef5f50fd /gui/widget/label.go
parent97a7a7cd2afa18b73f5982ecb3ec08c0392b6d1e (diff)
downloadvolute-15c9618700dc681e6b94e83a1aaeea6cbcd0c2c2.zip
separate label widget and style constants
Diffstat (limited to 'gui/widget/label.go')
-rw-r--r--gui/widget/label.go31
1 files changed, 31 insertions, 0 deletions
diff --git a/gui/widget/label.go b/gui/widget/label.go
new file mode 100644
index 0000000..cc2010f
--- /dev/null
+++ b/gui/widget/label.go
@@ -0,0 +1,31 @@
+package widget
+
+import (
+ "sync"
+ "image"
+ "image/draw"
+
+ "volute/gui"
+ "volute/gui/text"
+ "volute/gui/win"
+)
+
+func Label(str string, r image.Rectangle, env gui.Env, wg *sync.WaitGroup) {
+ defer wg.Done()
+ defer close(env.Draw())
+
+ redraw := func(drw draw.Image) image.Rectangle {
+ text.Draw([]byte(str), drw, r, BLACK, WHITE)
+ return r
+ }
+
+ env.Draw() <- redraw
+ for event := range env.Events() {
+ switch event := event.(type) {
+ case win.WiFocus:
+ if event.Focused {
+ env.Draw() <- redraw
+ }
+ }
+ }
+}