package widget import ( "sync" xdraw "golang.org/x/image/draw" "image" "image/color" "image/draw" "volute/gui" "volute/gui/text" "volute/gui/win" ) var ( FOCUS_COLOR = color.RGBA{179, 217, 255, 255} GREEN = color.RGBA{51, 102, 0, 255} BLACK = color.Gray{0} WHITE = color.Gray{255} interpolator = xdraw.ApproxBiLinear ) 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 } } } }