summaryrefslogtreecommitdiffstats
path: root/dependencies/pkg/mod/github.com/vbauerster/mpb/v6@v6.0.4/bar_filler.go
blob: c8cedaa4a02481e79e24b73b08f5e6d153fc2061 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package mpb

import (
	"io"

	"github.com/vbauerster/mpb/v6/decor"
)

// BarFiller interface.
// Bar (without decorators) renders itself by calling BarFiller's Fill method.
//
//	reqWidth is requested width, set by `func WithWidth(int) ContainerOption`.
//	If not set, it defaults to terminal width.
//
// Default implementations can be obtained via:
//
//	func NewBarFiller(style string) BarFiller
//	func NewBarFillerRev(style string) BarFiller
//	func NewBarFillerPick(style string, rev bool) BarFiller
//	func NewSpinnerFiller(style []string, alignment SpinnerAlignment) BarFiller
//
type BarFiller interface {
	Fill(w io.Writer, reqWidth int, stat decor.Statistics)
}

// BarFillerFunc is function type adapter to convert function into BarFiller.
type BarFillerFunc func(w io.Writer, reqWidth int, stat decor.Statistics)

func (f BarFillerFunc) Fill(w io.Writer, reqWidth int, stat decor.Statistics) {
	f(w, reqWidth, stat)
}