2017-12-30 21:10:13 +00:00
|
|
|
package main
|
|
|
|
|
2021-04-03 15:11:20 +00:00
|
|
|
import "code.rocketnine.space/tslocum/cview"
|
2017-12-30 21:10:13 +00:00
|
|
|
|
|
|
|
// Center returns a new primitive which shows the provided primitive in its
|
|
|
|
// center, given the provided primitive's size.
|
2019-12-30 23:12:17 +00:00
|
|
|
func Center(width, height int, p cview.Primitive) cview.Primitive {
|
2020-10-07 23:34:21 +00:00
|
|
|
subFlex := cview.NewFlex()
|
|
|
|
subFlex.SetDirection(cview.FlexRow)
|
|
|
|
subFlex.AddItem(cview.NewBox(), 0, 1, false)
|
|
|
|
subFlex.AddItem(p, height, 1, true)
|
|
|
|
subFlex.AddItem(cview.NewBox(), 0, 1, false)
|
|
|
|
|
|
|
|
flex := cview.NewFlex()
|
|
|
|
flex.AddItem(cview.NewBox(), 0, 1, false)
|
|
|
|
flex.AddItem(subFlex, width, 1, true)
|
|
|
|
flex.AddItem(cview.NewBox(), 0, 1, false)
|
|
|
|
|
|
|
|
return flex
|
2017-12-30 21:10:13 +00:00
|
|
|
}
|