Skip to main content

MaxTrackSizingFunction

Struct MaxTrackSizingFunction 

pub struct MaxTrackSizingFunction(/* private fields */);
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

Implementations§

§

impl MaxTrackSizingFunction

pub const fn length(val: f32) -> MaxTrackSizingFunction

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.

pub const fn percent(val: f32) -> MaxTrackSizingFunction

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]

pub const fn auto() -> MaxTrackSizingFunction

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

pub const fn min_content() -> MaxTrackSizingFunction

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

pub const fn max_content() -> MaxTrackSizingFunction

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

pub const fn fit_content_px(limit: f32) -> MaxTrackSizingFunction

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.

pub const fn fit_content_percent(limit: f32) -> MaxTrackSizingFunction

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.

pub const fn fr(val: f32) -> MaxTrackSizingFunction

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

pub fn calc(ptr: *const ()) -> MaxTrackSizingFunction

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.

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

Create a LengthPercentageAuto from a raw CompactLength.

§Safety

CompactLength must represent a valid variant for LengthPercentageAuto

pub fn into_raw(self) -> CompactLength

Get the underlying CompactLength representation of the value

pub fn is_intrinsic(&self) -> bool

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

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

pub fn is_fr(&self) -> bool

Returns true if the an Fr value, else false.

pub fn is_auto(&self) -> bool

Returns true if the is Auto, else false.

pub fn is_min_content(&self) -> bool

Returns true if value is MinContent

pub fn is_max_content(&self) -> bool

Returns true if value is MaxContent

pub fn is_fit_content(&self) -> bool

Returns true if value is FitContent(…)

pub fn is_max_or_fit_content(&self) -> bool

Returns true if value is MaxContent or FitContent(…)

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

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

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.

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.

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.

pub fn uses_percentage(self) -> bool

Whether the track sizing functions depends on the size of the parent node

Trait Implementations§

§

impl Clone for MaxTrackSizingFunction

§

fn clone(&self) -> MaxTrackSizingFunction

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
§

impl Debug for MaxTrackSizingFunction

§

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

Formats the value using the given formatter. Read more
§

impl From<Dimension> for MaxTrackSizingFunction

§

fn from(input: Dimension) -> MaxTrackSizingFunction

Converts to this type from the input type.
§

impl From<LengthPercentage> for MaxTrackSizingFunction

§

fn from(input: LengthPercentage) -> MaxTrackSizingFunction

Converts to this type from the input type.
§

impl From<LengthPercentageAuto> for MaxTrackSizingFunction

§

fn from(input: LengthPercentageAuto) -> MaxTrackSizingFunction

Converts to this type from the input type.
§

impl From<MaxTrackSizingFunction> for MinTrackSizingFunction

§

fn from(input: MaxTrackSizingFunction) -> MinTrackSizingFunction

Converts to this type from the input type.
§

impl From<MinTrackSizingFunction> for MaxTrackSizingFunction

§

fn from(input: MinTrackSizingFunction) -> MaxTrackSizingFunction

Converts to this type from the input type.
§

impl FromFr for MaxTrackSizingFunction

§

fn from_fr<Input>(value: Input) -> MaxTrackSizingFunction
where Input: Into<f32> + Copy,

Converts into an Into<f32> into Self
§

impl FromLength for MaxTrackSizingFunction

§

fn from_length<Input>(value: Input) -> MaxTrackSizingFunction
where Input: Into<f32> + Copy,

Converts into an Into<f32> into Self
§

impl FromPercent for MaxTrackSizingFunction

§

fn from_percent<Input>(value: Input) -> MaxTrackSizingFunction
where Input: Into<f32> + Copy,

Converts into an Into<f32> into Self
§

impl PartialEq for MaxTrackSizingFunction

§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · 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.
§

impl TaffyAuto for MaxTrackSizingFunction

§

const AUTO: MaxTrackSizingFunction

The auto value for type implementing TaffyAuto
§

impl TaffyFitContent for MaxTrackSizingFunction

§

fn fit_content(argument: LengthPercentage) -> MaxTrackSizingFunction

Converts a LengthPercentage into Self
§

impl TaffyMaxContent for MaxTrackSizingFunction

§

const MAX_CONTENT: MaxTrackSizingFunction

The max_content value for type implementing TaffyZero
§

impl TaffyMinContent for MaxTrackSizingFunction

§

const MIN_CONTENT: MaxTrackSizingFunction

The min_content value for type implementing TaffyZero
§

impl TaffyZero for MaxTrackSizingFunction

§

const ZERO: MaxTrackSizingFunction

The zero value for type implementing TaffyZero
§

impl Copy for MaxTrackSizingFunction

§

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
§

impl<T> AnyEq for T
where T: Any + PartialEq,

§

fn equals(&self, other: &(dyn Any + 'static)) -> bool

§

fn as_any(&self) -> &(dyn Any + 'static)

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
§

impl<T> Downcast<T> for T

§

fn downcast(&self) -> &T

§

impl<T> Downcast for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<T, S> SimdFrom<T, S> for T
where S: Simd,

§

fn simd_from(_simd: S, value: T) -> T

§

impl<F, T, S> SimdInto<T, S> for F
where T: SimdFrom<F, S>, S: Simd,

§

fn simd_into(self, simd: S) -> T

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.
§

impl<T> Upcast<T> for T

§

fn upcast(&self) -> Option<&T>

§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> ErasedDestructor for T
where T: 'static,