Skip to main content

split_v

Function split_v 

Source
pub fn split_v(area: Rect, constraints: &[Constraint]) -> Vec<Rect> 
Expand description

Split area into stacked rows top-to-bottom.

Returns one Rect per constraint; empty panes (zero height) are still returned so indices line up with constraints.

Never panics: a degenerate area (zero height, zero width, or both) resolves every constraint to a zero-height pane via saturating_sub arithmetic rather than under/overflowing, and an empty constraints slice simply returns an empty Vec.

§Examples

use retroglyph_core::Rect;
use retroglyph_widgets::{Constraint, split_v};

let area = Rect::new(0, 0, 20, 10);
let panes = split_v(area, &[Constraint::Fixed(1), Constraint::Fill(1), Constraint::Fixed(1)]);
assert_eq!(panes.iter().map(Rect::height).collect::<Vec<_>>(), vec![1, 8, 1]);