blob: 7a583bc21a336e58b8be689722460fe03a964166 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
package widget
import (
"image"
"image/draw"
"sync"
"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(str, drw, r, BLACK, WHITE, text.ALIGN_LEFT)
return r
}
env.Draw() <- redraw
for event := range env.Events() {
switch event := event.(type) {
case win.WiFocus:
if event.Focused {
env.Draw() <- redraw
}
}
}
}
|