pub enum SplitLayoutNode<LeafId> {
Leaf {
leaf_id: LeafId,
},
Split {
axis: SplitAxis,
ratio: u16,
first: Box<SplitLayoutNode<LeafId>>,
second: Box<SplitLayoutNode<LeafId>>,
},
}Variants§
Leaf
Fields
§
leaf_id: LeafIdSplit
Implementations§
Source§impl<LeafId> SplitLayoutNode<LeafId>
impl<LeafId> SplitLayoutNode<LeafId>
pub fn is_leaf(&self) -> bool
pub fn leaf(leaf_id: LeafId) -> Self
pub fn split_leaf( &mut self, target: LeafId, axis: SplitAxis, new_leaf: LeafId, ratio: u16, ) -> bool
pub fn split_leaf_with_direction( &mut self, target: LeafId, direction: Direction, new_leaf: LeafId, ratio: u16, ) -> bool
pub fn remove_leaf(&mut self, target: LeafId) -> bool
pub fn contains(&self, target: LeafId) -> bool
pub fn leaves(&self) -> Vec<LeafId>
pub fn focus_neighbor( &self, target: LeafId, direction: Direction, ) -> Option<LeafId>
pub fn resize_leaf( &mut self, target: LeafId, direction: Direction, amount: i32, ) -> bool
pub fn set_ratio_at_path(&mut self, path: &[bool], ratio: u16) -> bool
Trait Implementations§
Source§impl<LeafId: Clone> Clone for SplitLayoutNode<LeafId>
impl<LeafId: Clone> Clone for SplitLayoutNode<LeafId>
Source§fn clone(&self) -> SplitLayoutNode<LeafId>
fn clone(&self) -> SplitLayoutNode<LeafId>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<LeafId: Debug> Debug for SplitLayoutNode<LeafId>
impl<LeafId: Debug> Debug for SplitLayoutNode<LeafId>
Source§impl<'de, LeafId> Deserialize<'de> for SplitLayoutNode<LeafId>where
LeafId: Deserialize<'de>,
impl<'de, LeafId> Deserialize<'de> for SplitLayoutNode<LeafId>where
LeafId: Deserialize<'de>,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<LeafId: PartialEq> PartialEq for SplitLayoutNode<LeafId>
impl<LeafId: PartialEq> PartialEq for SplitLayoutNode<LeafId>
Source§impl<LeafId> Serialize for SplitLayoutNode<LeafId>where
LeafId: Serialize,
impl<LeafId> Serialize for SplitLayoutNode<LeafId>where
LeafId: Serialize,
impl<LeafId: Eq> Eq for SplitLayoutNode<LeafId>
impl<LeafId> StructuralPartialEq for SplitLayoutNode<LeafId>
Auto Trait Implementations§
impl<LeafId> Freeze for SplitLayoutNode<LeafId>where
LeafId: Freeze,
impl<LeafId> RefUnwindSafe for SplitLayoutNode<LeafId>where
LeafId: RefUnwindSafe,
impl<LeafId> Send for SplitLayoutNode<LeafId>where
LeafId: Send,
impl<LeafId> Sync for SplitLayoutNode<LeafId>where
LeafId: Sync,
impl<LeafId> Unpin for SplitLayoutNode<LeafId>where
LeafId: Unpin,
impl<LeafId> UnsafeUnpin for SplitLayoutNode<LeafId>where
LeafId: UnsafeUnpin,
impl<LeafId> UnwindSafe for SplitLayoutNode<LeafId>where
LeafId: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.