splitHorizontal function
Splits area horizontally into left/right.
Upstream: SplitHorizontal in third_party/ultraviolet/layout.go.
Implementation
({Rectangle left, Rectangle right}) splitHorizontal(
Rectangle area,
Constraint c,
) {
final width = (c.apply(area.width) < area.width)
? c.apply(area.width)
: area.width;
final left = Rectangle(
minX: area.minX,
minY: area.minY,
maxX: area.minX + width,
maxY: area.maxY,
);
final right = Rectangle(
minX: area.minX + width,
minY: area.minY,
maxX: area.maxX,
maxY: area.maxY,
);
return (left: left, right: right);
}