pub struct FlexItem {
pub base: f32,
pub grow: f32,
pub shrink: f32,
pub min: f32,
pub max: f32,
}Expand description
Flex parameters for one item along a container’s main axis.
Fields§
§base: f32Base size before growing or shrinking.
grow: f32Relative weight used to claim free space.
shrink: f32Relative weight used to absorb a deficit.
min: f32Minimum size the item may shrink to.
max: f32Maximum size the item may grow to.
Implementations§
Source§impl FlexItem
impl FlexItem
Sourcepub fn new(base: f32, grow: f32, shrink: f32, min: f32, max: f32) -> Self
pub fn new(base: f32, grow: f32, shrink: f32, min: f32, max: f32) -> Self
Creates a sanitized flex item.
Non-finite or negative values are clamped: base and min to zero,
grow to zero, shrink to one, and max becomes infinity when it is
NaN or positive infinity.
Examples found in repository?
examples/bench_layout.rs (line 10)
6fn main() {
7 let n = 100_000usize;
8
9 let items: Vec<sequoia_layout::FlexItem> = (0..n)
10 .map(|_| sequoia_layout::FlexItem::new(10.0, 1.0, 1.0, 0.0, f32::INFINITY))
11 .collect();
12 let mut sizes = vec![10.0; n];
13 let t = Instant::now();
14 distribute_flex(&items, &mut sizes, 0.0, 1_000_000.0);
15 println!("sequoia distribute_flex {n}: {:?}", t.elapsed());
16
17 let tracks = vec![sequoia_layout::Track::Fill(1.0); n.min(1000)];
18 let content = vec![0.0; tracks.len()];
19 let t = Instant::now();
20 let _ = resolve_tracks(&tracks, &content, 1_000_000.0, 0.0);
21 println!("sequoia resolve_tracks {}: {:?}", tracks.len(), t.elapsed());
22
23 let _ = ContainerStyle::default();
24 let _ = Axis::Horizontal;
25}Trait Implementations§
impl Copy for FlexItem
impl StructuralPartialEq for FlexItem
Auto Trait Implementations§
impl Freeze for FlexItem
impl RefUnwindSafe for FlexItem
impl Send for FlexItem
impl Sync for FlexItem
impl Unpin for FlexItem
impl UnsafeUnpin for FlexItem
impl UnwindSafe for FlexItem
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