pool_win.go 516 B

1234567891011121314151617181920212223242526272829303132333435
  1. // +build windows
  2. package pb
  3. import (
  4. "fmt"
  5. "log"
  6. )
  7. func (p *Pool) print(first bool) bool {
  8. var out string
  9. if !first {
  10. coords, err := getCursorPos()
  11. if err != nil {
  12. log.Panic(err)
  13. }
  14. coords.Y -= int16(len(p.bars))
  15. coords.X = 0
  16. err = setCursorPos(coords)
  17. if err != nil {
  18. log.Panic(err)
  19. }
  20. }
  21. isFinished := true
  22. for _, bar := range p.bars {
  23. if !bar.isFinish {
  24. isFinished = false
  25. }
  26. bar.Update()
  27. out += fmt.Sprintf("\r%s\n", bar.String())
  28. }
  29. fmt.Print(out)
  30. return isFinished
  31. }