diff options
| author | faiface <faiface@ksp.sk> | 2017-08-31 22:42:08 +0200 |
|---|---|---|
| committer | faiface <faiface@ksp.sk> | 2017-08-31 22:42:08 +0200 |
| commit | 7efcefe0d6bf828fcdff81a4e75694d1f3d45a94 (patch) | |
| tree | 7c6742b4c4531562b2c87dbbdfba113bc97e5559 /layout | |
| parent | 09db3d0b721685fda1cee71833ec4dd0fe1b4c9a (diff) | |
| download | gui-7efcefe0d6bf828fcdff81a4e75694d1f3d45a94.zip | |
layout: change EventDrawer Draw to accept a draw function instead of returning a channel
Diffstat (limited to 'layout')
| -rw-r--r-- | layout/interface.go | 28 |
1 files changed, 9 insertions, 19 deletions
diff --git a/layout/interface.go b/layout/interface.go index 1dcf34a..d203c3f 100644 --- a/layout/interface.go +++ b/layout/interface.go @@ -8,33 +8,23 @@ import ( type EventDrawer interface { Event() <-chan EventConsume - Draw() chan<- ImageFlush + Draw(func(draw.Image) image.Rectangle) } type EventConsume struct { - Event string + Event Consume chan<- bool } -func SendEvent(ch chan<- EventConsume, format string, a ...interface{}) (consume <-chan bool) { - cons := make(chan bool) - ch <- EventConsume{fmt.Sprintf(format, a...), cons} - return cons -} +type Event string -func (ec EventConsume) Matches(format string, a ...interface{}) bool { - _, err := fmt.Sscanf(ec.Event, format, a...) +func (e Event) Matches(format string, a ...interface{}) bool { + _, err := fmt.Sscanf(string(e), format, a...) return err == nil } -type ImageFlush struct { - Image chan<- draw.Image - Flush <-chan image.Rectangle -} - -func SendDraw(ch chan<- ImageFlush) (img <-chan draw.Image, flush chan<- image.Rectangle) { - imgC := make(chan draw.Image) - flushC := make(chan image.Rectangle) - ch <- ImageFlush{imgC, flushC} - return imgC, flushC +func SendEvent(ch chan<- EventConsume, format string, a ...interface{}) (consume <-chan bool) { + cons := make(chan bool) + ch <- EventConsume{Event(fmt.Sprintf(format, a...)), cons} + return cons } |