pub struct MaxTrackSizingFunction(pub(crate) CompactLength);
Expand description
Maximum track sizing function
Specifies the maximum size of a grid track. A grid track will automatically size between it’s minimum and maximum size based on the size of it’s contents, the amount of available space, and the sizing constraint the grid is being size under. See https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-columns
Tuple Fields§
§0: CompactLength
Implementations§
Source§impl MaxTrackSizingFunction
impl MaxTrackSizingFunction
Sourcepub const fn length(val: f32) -> Self
pub const fn length(val: f32) -> Self
An absolute length in some abstract units. Users of Taffy may define what they correspond to in their application (pixels, logical pixels, mm, etc) as they see fit.
Sourcepub const fn percent(val: f32) -> Self
pub const fn percent(val: f32) -> Self
A percentage length relative to the size of the containing block.
NOTE: percentages are represented as a f32 value in the range [0.0, 1.0] NOT the range [0.0, 100.0]
Sourcepub const fn auto() -> Self
pub const fn auto() -> Self
The dimension should be automatically computed according to algorithm-specific rules regarding the default size of boxes.
Sourcepub const fn min_content() -> Self
pub const fn min_content() -> Self
The size should be the “min-content” size. This is the smallest size that can fit the item’s contents with ALL soft line-wrapping opportunities taken
Sourcepub const fn max_content() -> Self
pub const fn max_content() -> Self
The size should be the “max-content” size. This is the smallest size that can fit the item’s contents with NO soft line-wrapping opportunities taken
Sourcepub const fn fit_content_px(limit: f32) -> Self
pub const fn fit_content_px(limit: f32) -> Self
The size should be computed according to the “fit content” formula:
max(min_content, min(max_content, limit))
where:
min_content
is the min-content sizemax_content
is the max-content sizelimit
is a LENGTH value passed to this function
The effect of this is that the item takes the size of limit
clamped
by the min-content and max-content sizes.
Sourcepub const fn fit_content_percent(limit: f32) -> Self
pub const fn fit_content_percent(limit: f32) -> Self
The size should be computed according to the “fit content” formula:
max(min_content, min(max_content, limit))
where:
min_content
is the min-content sizemax_content
is the max-content sizelimit
is a PERCENTAGE value passed to this function
The effect of this is that the item takes the size of limit
clamped
by the min-content and max-content sizes.
Sourcepub const fn fr(val: f32) -> Self
pub const fn fr(val: f32) -> Self
The dimension as a fraction of the total available grid space (fr
units in CSS)
Specified value is the numerator of the fraction. Denominator is the sum of all fraction specified in that grid dimension
Spec: https://www.w3.org/TR/css3-grid-layout/#fr-unit
Sourcepub fn calc(ptr: *const ()) -> Self
pub fn calc(ptr: *const ()) -> Self
A calc()
value. The value passed here is treated as an opaque handle to
the actual calc representation and may be a pointer, index, etc.
The low 3 bits are used as a tag value and will be returned as 0.
Sourcepub unsafe fn from_raw(val: CompactLength) -> Self
pub unsafe fn from_raw(val: CompactLength) -> Self
Create a LengthPercentageAuto from a raw CompactLength
.
§Safety
CompactLength must represent a valid variant for LengthPercentageAuto
Sourcepub fn into_raw(self) -> CompactLength
pub fn into_raw(self) -> CompactLength
Get the underlying CompactLength
representation of the value
Sourcepub fn is_intrinsic(&self) -> bool
pub fn is_intrinsic(&self) -> bool
Returns true if the max track sizing function is MinContent
, MaxContent
, FitContent
or Auto
, else false.
Sourcepub fn is_max_content_alike(&self) -> bool
pub fn is_max_content_alike(&self) -> bool
Returns true if the max track sizing function is MaxContent
, FitContent
or Auto
else false.
“In all cases, treat auto and fit-content() as max-content, except where specified otherwise for fit-content().”
See: https://www.w3.org/TR/css-grid-1/#algo-terms
Sourcepub fn is_min_content(&self) -> bool
pub fn is_min_content(&self) -> bool
Returns true if value is MinContent
Sourcepub fn is_max_content(&self) -> bool
pub fn is_max_content(&self) -> bool
Returns true if value is MaxContent
Sourcepub fn is_fit_content(&self) -> bool
pub fn is_fit_content(&self) -> bool
Returns true if value is FitContent(…)
Sourcepub fn is_max_or_fit_content(&self) -> bool
pub fn is_max_or_fit_content(&self) -> bool
Returns true if value is MaxContent or FitContent(…)
Sourcepub fn has_definite_value(self, parent_size: Option<f32>) -> bool
pub fn has_definite_value(self, parent_size: Option<f32>) -> bool
Returns whether the value can be resolved using Self::definite_value
Sourcepub fn definite_value(
self,
parent_size: Option<f32>,
calc_resolver: impl Fn(*const (), f32) -> f32,
) -> Option<f32>
pub fn definite_value( self, parent_size: Option<f32>, calc_resolver: impl Fn(*const (), f32) -> f32, ) -> Option<f32>
Returns fixed point values directly. Attempts to resolve percentage values against
the passed available_space and returns if this results in a concrete value (which it
will if the available_space is Some
). Otherwise returns None.
Sourcepub fn definite_limit(
self,
parent_size: Option<f32>,
calc_resolver: impl Fn(*const (), f32) -> f32,
) -> Option<f32>
pub fn definite_limit( self, parent_size: Option<f32>, calc_resolver: impl Fn(*const (), f32) -> f32, ) -> Option<f32>
Resolve the maximum size of the track as defined by either: - A fixed track sizing function - A percentage track sizing function (with definite available space) - A fit-content sizing function with fixed argument - A fit-content sizing function with percentage argument (with definite available space) All other kinds of track sizing function return None.
Sourcepub fn resolved_percentage_size(
self,
parent_size: f32,
calc_resolver: impl Fn(*const (), f32) -> f32,
) -> Option<f32>
pub fn resolved_percentage_size( self, parent_size: f32, calc_resolver: impl Fn(*const (), f32) -> f32, ) -> Option<f32>
Resolve percentage values against the passed parent_size, returning Some(value) Non-percentage values always return None.
Sourcepub fn uses_percentage(self) -> bool
pub fn uses_percentage(self) -> bool
Whether the track sizing functions depends on the size of the parent node
Trait Implementations§
Source§impl Clone for MaxTrackSizingFunction
impl Clone for MaxTrackSizingFunction
Source§fn clone(&self) -> MaxTrackSizingFunction
fn clone(&self) -> MaxTrackSizingFunction
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more