ratatui_toolkit/primitives/split_layout/methods/
resize_split.rs

1use crate::primitives::split_layout::constants::{MAX_SPLIT_PERCENT, MIN_SPLIT_PERCENT};
2use crate::primitives::split_layout::enums::layout_node::LayoutNode;
3use crate::primitives::split_layout::SplitLayout;
4
5impl SplitLayout {
6    /// Resizes a split node by index.
7    pub fn resize_split(&mut self, split_index: usize, percent: u16) -> bool {
8        let Some(LayoutNode::Split { ratio, .. }) = self.nodes.get_mut(split_index) else {
9            return false;
10        };
11
12        *ratio = percent.clamp(MIN_SPLIT_PERCENT, MAX_SPLIT_PERCENT);
13        true
14    }
15}