screen.go 463 B

123456789101112131415161718192021222324252627
  1. package door
  2. import "bytes"
  3. type Screen struct {
  4. Panels []Panel
  5. }
  6. func (s *Screen) AddPanel(panel Panel) {
  7. s.Panels = append(s.Panels, panel)
  8. }
  9. func (s *Screen) Output() []byte {
  10. var result bytes.Buffer
  11. for idx := range s.Panels {
  12. result.Write(s.Panels[idx].Output())
  13. }
  14. return result.Bytes()
  15. }
  16. func (s *Screen) Update() []byte {
  17. var result bytes.Buffer
  18. for idx := range s.Panels {
  19. result.Write(s.Panels[idx].Update())
  20. }
  21. return result.Bytes()
  22. }