move termbox.Events generator into screen
[pstop.git] / screen / screen.go
index c29c6ba..0478b46 100644 (file)
@@ -114,3 +114,15 @@ func (s *TermboxScreen) SetSize(width, height int) {
 func (s *TermboxScreen) Size() (int, int) {
        return s.width, s.height
 }
+
+// create a channel for termbox.Events and run a poller to send
+// these events to the channel.  Return the channel.
+func (s TermboxScreen) TermBoxChan() chan termbox.Event {
+        termboxChan := make(chan termbox.Event)
+        go func() {
+                for {
+                        termboxChan <- termbox.PollEvent()
+                }
+        }()
+        return termboxChan
+}