pub(crate) trait LayoutPartialTreeExt: LayoutPartialTree {
// Provided methods
fn measure_child_size(
&mut self,
node_id: NodeId,
known_dimensions: Size<Option<f32>>,
parent_size: Size<Option<f32>>,
available_space: Size<AvailableSpace>,
sizing_mode: SizingMode,
axis: AbsoluteAxis,
vertical_margins_are_collapsible: Line<bool>,
) -> f32 { ... }
fn perform_child_layout(
&mut self,
node_id: NodeId,
known_dimensions: Size<Option<f32>>,
parent_size: Size<Option<f32>>,
available_space: Size<AvailableSpace>,
sizing_mode: SizingMode,
vertical_margins_are_collapsible: Line<bool>,
) -> LayoutOutput { ... }
fn calc(&self, val: *const (), basis: f32) -> f32 { ... }
}
Expand description
A private trait which allows us to add extra convenience methods to types which implement LayoutTree without making those methods public.
Provided Methods§
Sourcefn measure_child_size(
&mut self,
node_id: NodeId,
known_dimensions: Size<Option<f32>>,
parent_size: Size<Option<f32>>,
available_space: Size<AvailableSpace>,
sizing_mode: SizingMode,
axis: AbsoluteAxis,
vertical_margins_are_collapsible: Line<bool>,
) -> f32
fn measure_child_size( &mut self, node_id: NodeId, known_dimensions: Size<Option<f32>>, parent_size: Size<Option<f32>>, available_space: Size<AvailableSpace>, sizing_mode: SizingMode, axis: AbsoluteAxis, vertical_margins_are_collapsible: Line<bool>, ) -> f32
Compute the size of the node given the specified constraints
Sourcefn perform_child_layout(
&mut self,
node_id: NodeId,
known_dimensions: Size<Option<f32>>,
parent_size: Size<Option<f32>>,
available_space: Size<AvailableSpace>,
sizing_mode: SizingMode,
vertical_margins_are_collapsible: Line<bool>,
) -> LayoutOutput
fn perform_child_layout( &mut self, node_id: NodeId, known_dimensions: Size<Option<f32>>, parent_size: Size<Option<f32>>, available_space: Size<AvailableSpace>, sizing_mode: SizingMode, vertical_margins_are_collapsible: Line<bool>, ) -> LayoutOutput
Perform a full layout on the node given the specified constraints
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.