mirror of
https://git.sr.ht/~eliasnaur/gio
synced 2026-07-05 17:35:36 +00:00
ui/layout: fix Flex spacing
Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
+12
-8
@@ -143,7 +143,7 @@ func (f *Flex) Layout(children ...FlexChild) Dimens {
|
|||||||
case SpaceAround:
|
case SpaceAround:
|
||||||
mainSize += space / (len(children) * 2)
|
mainSize += space / (len(children) * 2)
|
||||||
}
|
}
|
||||||
for _, child := range children {
|
for i, child := range children {
|
||||||
dims := child.dims
|
dims := child.dims
|
||||||
b := dims.Baseline
|
b := dims.Baseline
|
||||||
var cross int
|
var cross int
|
||||||
@@ -164,19 +164,23 @@ func (f *Flex) Layout(children ...FlexChild) Dimens {
|
|||||||
child.block.Add(f.ops)
|
child.block.Add(f.ops)
|
||||||
ui.PopOp{}.Add(f.ops)
|
ui.PopOp{}.Add(f.ops)
|
||||||
mainSize += axisMain(f.Axis, dims.Size)
|
mainSize += axisMain(f.Axis, dims.Size)
|
||||||
switch f.MainAxisAlignment {
|
if i < len(children)-1 {
|
||||||
case SpaceEvenly:
|
switch f.MainAxisAlignment {
|
||||||
mainSize += space / (1 + len(children))
|
case SpaceEvenly:
|
||||||
case SpaceAround:
|
mainSize += space / (1 + len(children))
|
||||||
mainSize += space / len(children)
|
case SpaceAround:
|
||||||
case SpaceBetween:
|
mainSize += space / len(children)
|
||||||
mainSize += space / (len(children) - 1)
|
case SpaceBetween:
|
||||||
|
mainSize += space / (len(children) - 1)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if b != dims.Size.Y {
|
if b != dims.Size.Y {
|
||||||
baseline = b
|
baseline = b
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
switch f.MainAxisAlignment {
|
switch f.MainAxisAlignment {
|
||||||
|
case Center:
|
||||||
|
mainSize += space / 2
|
||||||
case Start:
|
case Start:
|
||||||
mainSize += space
|
mainSize += space
|
||||||
case SpaceEvenly:
|
case SpaceEvenly:
|
||||||
|
|||||||
Reference in New Issue
Block a user