mirror of
https://github.com/penpot/penpot.git
synced 2025-12-11 22:14:05 +01:00
🐛 Fix problems with alignments and margins
This commit is contained in:
@@ -546,14 +546,22 @@ fn child_position(
|
|||||||
align_self: Some(align_self),
|
align_self: Some(align_self),
|
||||||
..
|
..
|
||||||
}) => match align_self {
|
}) => match align_self {
|
||||||
AlignSelf::Center => (track.across_size - child_axis.across_size) / 2.0,
|
AlignSelf::Center => {
|
||||||
|
(track.across_size - child_axis.across_size + child_axis.margin_across_start
|
||||||
|
- child_axis.margin_across_end)
|
||||||
|
/ 2.0
|
||||||
|
}
|
||||||
AlignSelf::End => {
|
AlignSelf::End => {
|
||||||
track.across_size - child_axis.across_size - child_axis.margin_across_end
|
track.across_size - child_axis.across_size - child_axis.margin_across_end
|
||||||
}
|
}
|
||||||
_ => child_axis.margin_across_start,
|
_ => child_axis.margin_across_start,
|
||||||
},
|
},
|
||||||
_ => match layout_data.align_items {
|
_ => match layout_data.align_items {
|
||||||
AlignItems::Center => (track.across_size - child_axis.across_size) / 2.0,
|
AlignItems::Center => {
|
||||||
|
(track.across_size - child_axis.across_size + child_axis.margin_across_start
|
||||||
|
- child_axis.margin_across_end)
|
||||||
|
/ 2.0
|
||||||
|
}
|
||||||
AlignItems::End => {
|
AlignItems::End => {
|
||||||
track.across_size - child_axis.across_size - child_axis.margin_across_end
|
track.across_size - child_axis.across_size - child_axis.margin_across_end
|
||||||
}
|
}
|
||||||
@@ -579,7 +587,11 @@ pub fn reflow_flex_layout(
|
|||||||
let tracks = calculate_track_data(shape, layout_data, flex_data, layout_bounds, shapes, bounds);
|
let tracks = calculate_track_data(shape, layout_data, flex_data, layout_bounds, shapes, bounds);
|
||||||
|
|
||||||
for track in tracks.iter() {
|
for track in tracks.iter() {
|
||||||
let total_shapes_size = track.shapes.iter().map(|s| s.main_size).sum::<f32>();
|
let total_shapes_size = track
|
||||||
|
.shapes
|
||||||
|
.iter()
|
||||||
|
.map(|s| s.main_size + s.margin_main_start + s.margin_main_end)
|
||||||
|
.sum::<f32>();
|
||||||
let mut shape_anchor = first_anchor(layout_data, &layout_axis, track, total_shapes_size);
|
let mut shape_anchor = first_anchor(layout_data, &layout_axis, track, total_shapes_size);
|
||||||
|
|
||||||
for child_axis in track.shapes.iter() {
|
for child_axis in track.shapes.iter() {
|
||||||
|
|||||||
Reference in New Issue
Block a user