pub struct ResolvedLayout {
pub width: Option<f32>,
pub height: Option<f32>,
pub min_width: Option<f32>,
pub max_width: Option<f32>,
pub min_height: Option<f32>,
pub max_height: Option<f32>,
}Expand description
Resolved explicit sizes from LayoutStyle (fill / px / percent).
None on an axis means intrinsic sizing (children sum, text measure, etc.).
§Examples
use ailloli_ui_core::{Constraints, Size};
use ailloli_ui_core::style::{LayoutStyle, resolve_widget_size};
let size = resolve_widget_size(Size::new(20.0, 10.0), LayoutStyle::new().width(40.0), Constraints::loose(100.0, 100.0));
assert_eq!(size, Size::new(40.0, 10.0));Fields§
§width: Option<f32>Explicit width in logical pixels, or None for intrinsic width.
height: Option<f32>Explicit height in logical pixels, or None for intrinsic height.
min_width: Option<f32>Resolved minimum width, or None when no minimum was specified.
max_width: Option<f32>Resolved maximum width, or None when no maximum was specified.
min_height: Option<f32>Resolved minimum height, or None when no minimum was specified.
max_height: Option<f32>Resolved maximum height, or None when no maximum was specified.
Implementations§
Source§impl ResolvedLayout
impl ResolvedLayout
Sourcepub fn size(
self,
intrinsic_w: f32,
intrinsic_h: f32,
parent: Constraints,
) -> (f32, f32)
pub fn size( self, intrinsic_w: f32, intrinsic_h: f32, parent: Constraints, ) -> (f32, f32)
Combines intrinsic size with explicit axes and min/max bounds under parent.
Per-widget minimums are applied before maximums. An explicit axis is clamped to the ordered parent interval; an intrinsic axis is capped only at the parent maximum and is not expanded to the parent minimum.
§Panics
May panic when an explicit axis is clamped against parent bounds that remain NaN after ordering.
§Examples
use ailloli_ui_core::Constraints;
use ailloli_ui_core::style::ResolvedLayout;
let resolved = ResolvedLayout { width: Some(40.0), ..ResolvedLayout::default() };
assert_eq!(resolved.size(10.0, 20.0, Constraints::loose(100.0, 100.0)), (40.0, 20.0));Trait Implementations§
Source§impl Clone for ResolvedLayout
impl Clone for ResolvedLayout
Source§fn clone(&self) -> ResolvedLayout
fn clone(&self) -> ResolvedLayout
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more