Codebase list golang-github-vbauerster-mpb / 2a41852
draw wraps drawImpl Vladimir Bauer 3 years ago
1 changed file(s) with 7 addition(s) and 4 deletion(s). Raw diff Collapse all Expand all
450450 }
451451
452452 func (s *bState) draw(stat decor.Statistics) io.Reader {
453 return io.MultiReader(s.drawImpl(stat), strings.NewReader("\n"))
454 }
455
456 func (s *bState) drawImpl(stat decor.Statistics) io.Reader {
453457 bufP, bufB, bufA := s.buffers[0], s.buffers[1], s.buffers[2]
454 nlr := bytes.NewReader([]byte("\n"))
455458 tw := stat.AvailableWidth
456459 for _, d := range s.pDecorators {
457460 str := d.Decor(stat)
464467 if stat.AvailableWidth < 1 {
465468 trunc := strings.NewReader(runewidth.Truncate(stripansi.Strip(bufP.String()), tw, "…"))
466469 bufP.Reset()
467 return io.MultiReader(trunc, nlr)
470 return trunc
468471 }
469472
470473 if !s.trimSpace && stat.AvailableWidth > 1 {
485488 if stat.AvailableWidth < 1 {
486489 trunc := strings.NewReader(runewidth.Truncate(stripansi.Strip(bufA.String()), tw, "…"))
487490 bufA.Reset()
488 return io.MultiReader(bufP, bufB, trunc, nlr)
491 return io.MultiReader(bufP, bufB, trunc)
489492 }
490493
491494 err := s.filler.Fill(bufB, stat)
493496 panic(err)
494497 }
495498
496 return io.MultiReader(bufP, bufB, bufA, nlr)
499 return io.MultiReader(bufP, bufB, bufA)
497500 }
498501
499502 func (s *bState) wSyncTable() [][]chan int {