// EventChan returns a channel on which events can be read.
// The first call to EventChan allocates a channel and starts a
// new goroutine that loops calling ReadEvent and sending
// the result into the channel.  Subsequent calls return the
// same channel.  Clients should not call ReadEvent after calling
// EventChan.

EventChan returns a channel on which events can be read.
The first call to EventChan allocates a channel and starts a
new goroutine that loops calling ReadEvent and sending
the result into the channel.  Subsequent calls return the
same channel.  Clients should not call ReadEvent after calling
EventChan.
// EventChan returns a channel on which events can be read . // The first call to EventChan allocates a channel and starts a // new goroutine that loops calling ReadEvent and sending // the result into the channel . Subsequent calls return the // same channel . Clients should not call ReadEvent after calling // EventChan .
func (w *Win) EventChan() <-chan *Event {
	if w.c == nil {
		w.c = make(chan *Event, 0)
		go w.eventReader()
	}
	return w.c
}
func ( w * Win ) EventChan ( ) <- chan * Event { if w . c == nil { w . c = make ( chan * Event , 0 ) go w . eventReader ( ) } return w . c }
EventChan returns a channel on which events can be read.
EventChan returns a channel on which events can be read .