Layouts now take in proper margin and padding values

This commit is contained in:
Sasha Koshka 2023-03-04 01:42:14 -05:00
parent 90ce0d7281
commit 5fc5af92df
5 changed files with 69 additions and 65 deletions

View File

@ -246,10 +246,9 @@ func (element *Container) SetConfig (new config.Config) {
func (element *Container) FlexibleHeightFor (width int) (height int) { func (element *Container) FlexibleHeightFor (width int) (height int) {
margin := element.theme.Margin(theme.PatternBackground) margin := element.theme.Margin(theme.PatternBackground)
padding := element.theme.Padding(theme.PatternBackground) padding := element.theme.Padding(theme.PatternBackground)
// TODO: have layouts take in entire margins/padding
return element.layout.FlexibleHeightFor ( return element.layout.FlexibleHeightFor (
element.children, element.children,
margin.X, padding.Horizontal(), width) margin, padding, width)
} }
func (element *Container) OnFlexibleHeightChange (callback func ()) { func (element *Container) OnFlexibleHeightChange (callback func ()) {
@ -323,13 +322,12 @@ func (element *Container) unfocusAllChildren() {
func (element *Container) updateMinimumSize () { func (element *Container) updateMinimumSize () {
margin := element.theme.Margin(theme.PatternBackground) margin := element.theme.Margin(theme.PatternBackground)
padding := element.theme.Padding(theme.PatternBackground) padding := element.theme.Padding(theme.PatternBackground)
// TODO: have layouts take in entire margins/padding
width, height := element.layout.MinimumSize ( width, height := element.layout.MinimumSize (
element.children, margin.X, padding.Horizontal()) element.children, margin, padding)
if element.flexible { if element.flexible {
height = element.layout.FlexibleHeightFor ( height = element.layout.FlexibleHeightFor (
element.children, margin.X, element.children, margin,
padding.Horizontal(), width) padding, width)
} }
element.core.SetMinimumSize(width, height) element.core.SetMinimumSize(width, height)
} }