diff options
Diffstat (limited to 'native/src/widget/pane_grid')
| -rw-r--r-- | native/src/widget/pane_grid/axis.rs | 24 | ||||
| -rw-r--r-- | native/src/widget/pane_grid/state.rs | 3 | 
2 files changed, 27 insertions, 0 deletions
diff --git a/native/src/widget/pane_grid/axis.rs b/native/src/widget/pane_grid/axis.rs index b3a306d5..2320cb7c 100644 --- a/native/src/widget/pane_grid/axis.rs +++ b/native/src/widget/pane_grid/axis.rs @@ -53,6 +53,30 @@ impl Axis {              }          }      } + +    pub(super) fn split_line_bounds( +        &self, +        rectangle: Rectangle, +        ratio: f32, +        spacing: f32, +    ) -> Rectangle { +        match self { +            Axis::Horizontal => Rectangle { +                x: rectangle.x, +                y: (rectangle.y + rectangle.height * ratio - spacing / 2.0) +                    .round(), +                width: rectangle.width, +                height: spacing, +            }, +            Axis::Vertical => Rectangle { +                x: (rectangle.x + rectangle.width * ratio - spacing / 2.0) +                    .round(), +                y: rectangle.y, +                width: spacing, +                height: rectangle.height, +            }, +        } +    }  }  #[cfg(test)] diff --git a/native/src/widget/pane_grid/state.rs b/native/src/widget/pane_grid/state.rs index 4b13fb8e..7a53d6c7 100644 --- a/native/src/widget/pane_grid/state.rs +++ b/native/src/widget/pane_grid/state.rs @@ -4,6 +4,7 @@ use crate::{      Hasher, Point, Rectangle, Size,  }; +use std::cell::RefCell;  use std::collections::HashMap;  /// The state of a [`PaneGrid`]. @@ -71,6 +72,7 @@ impl<T> State<T> {              internal: Internal {                  layout,                  last_id, +                split_cache: RefCell::new(None),                  action: Action::Idle { focus: None },              },              modifiers: keyboard::ModifiersState::default(), @@ -308,6 +310,7 @@ pub struct Internal {      layout: Node,      last_id: usize,      action: Action, +    split_cache: RefCell<Option<HashMap<Split, (Axis, f32, Rectangle)>>>,  }  #[derive(Debug, Clone, Copy, PartialEq, Eq)]  | 
