Struct MaxTrackSizingFunction

Source
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

Source

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.

Source

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]

Source

pub const fn auto() -> Self

The dimension should be automatically computed according to algorithm-specific rules regarding the default size of boxes.

Source

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

Source

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

Source

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 size
  • max_content is the max-content size
  • limit 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.

Source

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 size
  • max_content is the max-content size
  • limit 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.

Source

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

Source

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.

Source

pub unsafe fn from_raw(val: CompactLength) -> Self

Create a LengthPercentageAuto from a raw CompactLength.

§Safety

CompactLength must represent a valid variant for LengthPercentageAuto

Source

pub fn into_raw(self) -> CompactLength

Get the underlying CompactLength representation of the value

Source

pub fn is_intrinsic(&self) -> bool

Returns true if the max track sizing function is MinContent, MaxContent, FitContent or Auto, else false.

Source

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

Source

pub fn is_fr(&self) -> bool

Returns true if the an Fr value, else false.

Source

pub fn is_auto(&self) -> bool

Returns true if the is Auto, else false.

Source

pub fn is_min_content(&self) -> bool

Returns true if value is MinContent

Source

pub fn is_max_content(&self) -> bool

Returns true if value is MaxContent

Source

pub fn is_fit_content(&self) -> bool

Returns true if value is FitContent(…)

Source

pub fn is_max_or_fit_content(&self) -> bool

Returns true if value is MaxContent or FitContent(…)

Source

pub fn has_definite_value(self, parent_size: Option<f32>) -> bool

Returns whether the value can be resolved using Self::definite_value

Source

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.

Source

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.

Source

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.

Source

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

Source§

fn clone(&self) -> MaxTrackSizingFunction

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for MaxTrackSizingFunction

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<Dimension> for MaxTrackSizingFunction

Source§

fn from(input: Dimension) -> Self

Converts to this type from the input type.
Source§

impl From<LengthPercentage> for MaxTrackSizingFunction

Source§

fn from(input: LengthPercentage) -> Self

Converts to this type from the input type.
Source§

impl From<LengthPercentageAuto> for MaxTrackSizingFunction

Source§

fn from(input: LengthPercentageAuto) -> Self

Converts to this type from the input type.
Source§

impl From<MinTrackSizingFunction> for MaxTrackSizingFunction

Source§

fn from(input: MinTrackSizingFunction) -> Self

Converts to this type from the input type.
Source§

impl FromFr for MaxTrackSizingFunction

Source§

fn from_fr<Input: Into<f32> + Copy>(value: Input) -> Self

Converts into an Into<f32> into Self
Source§

impl FromLength for MaxTrackSizingFunction

Source§

fn from_length<Input: Into<f32> + Copy>(value: Input) -> Self

Converts into an Into<f32> into Self
Source§

impl FromPercent for MaxTrackSizingFunction

Source§

fn from_percent<Input: Into<f32> + Copy>(value: Input) -> Self

Converts into an Into<f32> into Self
Source§

impl PartialEq for MaxTrackSizingFunction

Source§

fn eq(&self, other: &MaxTrackSizingFunction) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl TaffyAuto for MaxTrackSizingFunction

Source§

const AUTO: Self

The auto value for type implementing TaffyAuto
Source§

impl TaffyFitContent for MaxTrackSizingFunction

Source§

fn fit_content(argument: LengthPercentage) -> Self

Converts a LengthPercentage into Self
Source§

impl TaffyMaxContent for MaxTrackSizingFunction

Source§

const MAX_CONTENT: Self

The max_content value for type implementing TaffyZero
Source§

impl TaffyMinContent for MaxTrackSizingFunction

Source§

const MIN_CONTENT: Self

The min_content value for type implementing TaffyZero
Source§

impl TaffyZero for MaxTrackSizingFunction

Source§

const ZERO: Self

The zero value for type implementing TaffyZero
Source§

impl Copy for MaxTrackSizingFunction

Source§

impl StructuralPartialEq for MaxTrackSizingFunction

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.