Skip to main content

LengthPercentage

Struct LengthPercentage 

Source
pub struct LengthPercentage(/* private fields */);
Expand description

A unit of linear measurement

This is commonly combined with Rect, Point and Size<T>.

Implementations§

Source§

impl LengthPercentage

Source

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

An absolute length in some abstract units. Users of Takia 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 fn calc(ptr: *const ()) -> Self

Available on crate feature calc only.

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 const unsafe fn from_raw(val: CompactLength) -> Self

Create a LengthPercentage from a raw CompactLength.

§Safety

CompactLength must represent a valid variant for LengthPercentage

Source

pub const fn into_raw(self) -> CompactLength

Get the underlying CompactLength representation of the value

Source

pub fn expand(self) -> ExpandedLengthPercentage

Expand the compact representation into an ExpandedLengthPercentage enum.

This is useful when integrating with other libraries (e.g. for style inspection or serialization) as it allows the value to be pattern-matched without having to work with the raw CompactLength tagged-pointer representation directly.

Trait Implementations§

Source§

impl Clone for LengthPercentage

Source§

fn clone(&self) -> Self

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

impl Copy for LengthPercentage

Source§

impl Debug for LengthPercentage

Source§

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

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

impl<'de> Deserialize<'de> for LengthPercentage

Available on crate feature serde only.
Source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl From<ExpandedLengthPercentage> for LengthPercentage

Source§

fn from(value: ExpandedLengthPercentage) -> Self

Converts to this type from the input type.
Source§

impl From<LengthPercentage> for ExpandedLengthPercentage

Source§

fn from(value: LengthPercentage) -> Self

Converts to this type from the input type.
Source§

impl From<LengthPercentage> for LengthPercentageAuto

Source§

fn from(input: LengthPercentage) -> Self

Converts to this type from the input type.
Source§

impl From<LengthPercentage> for Dimension

Source§

fn from(input: LengthPercentage) -> Self

Converts to this type from the input type.
Source§

impl From<LengthPercentage> for MaxTrackSizingFunction

Available on crate feature grid only.
Source§

fn from(input: LengthPercentage) -> Self

Converts to this type from the input type.
Source§

impl From<LengthPercentage> for MinTrackSizingFunction

Available on crate feature grid only.
Source§

fn from(input: LengthPercentage) -> Self

Converts to this type from the input type.
Source§

impl From<LengthPercentage> for TrackSizingFunction

Available on crate feature grid only.
Source§

fn from(input: LengthPercentage) -> Self

Converts to this type from the input type.
Source§

impl FromLength for LengthPercentage

Source§

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

Converts into an Into<f64> into Self
Source§

impl FromPercent for LengthPercentage

Source§

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

Converts into an Into<f64> into Self
Source§

impl FromStr for LengthPercentage

Available on crate feature parse only.
Source§

type Err = ParseError

The associated error which can be returned from parsing.
Source§

fn from_str(input: &str) -> Result<Self, Self::Err>

Parses a string s to return a value of this type. Read more
Source§

impl MaybeResolve<Option<f32>, Option<f32>> for LengthPercentage

Source§

fn maybe_resolve( self, context: Option<f32>, calc: impl Fn(*const (), f32) -> f32, ) -> Option<f32>

Converts the given LengthPercentage into an absolute length Can return None

Source§

impl PartialEq for LengthPercentage

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl ResolveOrZero<Option<f32>, f32> for LengthPercentage

Source§

fn resolve_or_zero( self, context: Option<f32>, calc: impl Fn(*const (), f32) -> f32, ) -> f32

Will return a default value of result is evaluated to None

Source§

impl Serialize for LengthPercentage

Available on crate feature serde only.
Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for LengthPercentage

Source§

impl TakiaZero for LengthPercentage

Source§

const ZERO: Self

The zero value for type implementing TakiaZero

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> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

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> MaybeResolve<f32, Option<f32>> for T

Source§

fn maybe_resolve( self, context: f32, calc: impl Fn(*const (), f32) -> f32, ) -> Option<f32>

Converts the given MaybeResolve value into an absolute length Can return None

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 = !

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

fn try_from(value: U) -> Result<T, !>

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.