layout: don't return negative availability rectangles

This commit is contained in:
Emil Ernerfeldt 2021-03-21 19:57:38 +01:00
parent f5c372910c
commit 05308e8d37

View file

@ -411,6 +411,8 @@ impl Layout {
avail.min.y = cursor.min.y;
avail.max.y = cursor.max.y;
}
avail.max.x = avail.max.x.max(avail.min.x);
avail.max.y = avail.max.y.max(avail.min.y);
}
Direction::RightToLeft => {
avail.max.x = cursor.max.x;
@ -419,6 +421,8 @@ impl Layout {
avail.min.y = cursor.min.y;
avail.max.y = cursor.max.y;
}
avail.min.x = avail.min.x.min(avail.max.x);
avail.max.y = avail.max.y.max(avail.min.y);
}
Direction::TopDown => {
avail.min.y = cursor.min.y;
@ -427,6 +431,8 @@ impl Layout {
avail.min.x = cursor.min.x;
avail.max.x = cursor.max.x;
}
avail.max.x = avail.max.x.max(avail.min.x);
avail.max.y = avail.max.y.max(avail.min.y);
}
Direction::BottomUp => {
avail.min.y = avail.min.y.min(cursor.max.y);
@ -434,6 +440,8 @@ impl Layout {
avail.min.x = cursor.min.x;
avail.max.x = cursor.max.x;
}
avail.max.x = avail.max.x.max(avail.min.x);
avail.min.y = avail.min.y.min(avail.max.y);
}
}