diff options
| author | faiface <faiface2202@gmail.com> | 2019-05-09 14:28:25 +0200 |
|---|---|---|
| committer | faiface <faiface2202@gmail.com> | 2019-05-09 14:28:25 +0200 |
| commit | ba4fc4a57f9a38252f708f785f37aa24138dfe09 (patch) | |
| tree | 79bd9c19859933afe9cd792c0282dc77d292391f /examples/imageviewer/splits.go | |
| parent | de5d2f5c78da7f8a578ecc25f8e8b1fa90f20264 (diff) | |
| download | gui-ba4fc4a57f9a38252f708f785f37aa24138dfe09.zip | |
change event strings to event types
Diffstat (limited to 'examples/imageviewer/splits.go')
| -rw-r--r-- | examples/imageviewer/splits.go | 55 |
1 files changed, 25 insertions, 30 deletions
diff --git a/examples/imageviewer/splits.go b/examples/imageviewer/splits.go index 871a3a5..f9daf2e 100644 --- a/examples/imageviewer/splits.go +++ b/examples/imageviewer/splits.go @@ -15,16 +15,15 @@ type envPair struct { func (ep *envPair) Events() <-chan gui.Event { return ep.events } func (ep *envPair) Draw() chan<- func(draw.Image) image.Rectangle { return ep.draw } -func FixedLeft(env gui.Env, x1 int) gui.Env { +func FixedLeft(env gui.Env, maxX int) gui.Env { out, in := gui.MakeEventsChan() go func() { for e := range env.Events() { - var x0, y0, dummy, y1 int - switch { - case e.Matches("resize/%d/%d/%d/%d", &x0, &y0, &dummy, &y1): - in <- gui.Eventf("resize/%d/%d/%d/%d", x0, y0, x1, y1) - default: + if resize, ok := e.(gui.Resize); ok { + resize.Max.X = maxX + in <- resize + } else { in <- e } } @@ -34,16 +33,15 @@ func FixedLeft(env gui.Env, x1 int) gui.Env { return &envPair{out, env.Draw()} } -func FixedRight(env gui.Env, x0 int) gui.Env { +func FixedRight(env gui.Env, minX int) gui.Env { out, in := gui.MakeEventsChan() go func() { for e := range env.Events() { - var dummy, y0, x1, y1 int - switch { - case e.Matches("resize/%d/%d/%d/%d", &dummy, &y0, &x1, &y1): - in <- gui.Eventf("resize/%d/%d/%d/%d", x0, y0, x1, y1) - default: + if resize, ok := e.(gui.Resize); ok { + resize.Min.X = minX + in <- resize + } else { in <- e } } @@ -53,16 +51,15 @@ func FixedRight(env gui.Env, x0 int) gui.Env { return &envPair{out, env.Draw()} } -func FixedTop(env gui.Env, y1 int) gui.Env { +func FixedTop(env gui.Env, maxY int) gui.Env { out, in := gui.MakeEventsChan() go func() { for e := range env.Events() { - var x0, y0, x1, dummy int - switch { - case e.Matches("resize/%d/%d/%d/%d", &x0, &y0, &x1, &dummy): - in <- gui.Eventf("resize/%d/%d/%d/%d", x0, y0, x1, y1) - default: + if resize, ok := e.(gui.Resize); ok { + resize.Max.Y = maxY + in <- resize + } else { in <- e } } @@ -72,16 +69,15 @@ func FixedTop(env gui.Env, y1 int) gui.Env { return &envPair{out, env.Draw()} } -func FixedBottom(env gui.Env, y0 int) gui.Env { +func FixedBottom(env gui.Env, minY int) gui.Env { out, in := gui.MakeEventsChan() go func() { for e := range env.Events() { - var x0, dummy, x1, y1 int - switch { - case e.Matches("resize/%d/%d/%d/%d", &x0, &dummy, &x1, &y1): - in <- gui.Eventf("resize/%d/%d/%d/%d", x0, y0, x1, y1) - default: + if resize, ok := e.(gui.Resize); ok { + resize.Min.Y = minY + in <- resize + } else { in <- e } } @@ -96,12 +92,11 @@ func EvenHorizontal(env gui.Env, minI, maxI, n int) gui.Env { go func() { for e := range env.Events() { - var x0, y0, x1, y1 int - switch { - case e.Matches("resize/%d/%d/%d/%d", &x0, &y0, &x1, &y1): - x0, x1 := x0+(x1-x0)*minI/n, x0+(x1-x0)*maxI/n - in <- gui.Eventf("resize/%d/%d/%d/%d", x0, y0, x1, y1) - default: + if resize, ok := e.(gui.Resize); ok { + x0, x1 := resize.Min.X, resize.Max.X + resize.Min.X, resize.Max.X = x0+(x1-x0)*minI/n, x0+(x1-x0)*maxI/n + in <- resize + } else { in <- e } } |